home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / progtool / alle / kolumbus / doc / kodoc.
Encoding:
Text File  |  1994-09-22  |  112.5 KB  |  3,151 lines

  1.  
  2.                                               München, im April 1994
  3.  
  4. KOLUMBUS V2.21
  5.  
  6. (c) 1989, 1990, 1991, 1992, 1993, 1994  Jörg Otte
  7.  
  8. P r o g r a m m a n l e i t u n g
  9. =================================
  10.  
  11.  
  12.  
  13. I N H A L T
  14.  
  15. 0         Übersicht
  16.  
  17. 1         Die Menüzeile
  18. 1.1       Menü KOLUMBUS
  19. 1.2       Menü File
  20. 1.2.1     New
  21. 1.2.1     Open...
  22. 1.2.1     View...
  23. 1.2.1     Import...
  24. 1.2.1.1   File...
  25. 1.2.1.1   Binary File...
  26. 1.2.1.1   Clipboard
  27. 1.2.1.1   Die Option 'use filter'
  28. 1.2.2     Save
  29. 1.2.3     Save as...
  30. 1.2.4     Abandon
  31. 1.2.4     Export...
  32. 1.2.4.1   Printer
  33. 1.2.4.2   File...
  34. 1.2.4.3   Window
  35. 1.2.4.4   Clipboard
  36. 1.2.4.5   Die Option selected.
  37. 1.2.4.6   Die Option 'use filter'
  38. 1.2.5     Help
  39. 1.2.6     Quit(1)
  40. 1.2.7     Quit
  41. 1.3       Menü Drive
  42. 1.3.1     Open...
  43. 1.3.2     Directory...
  44. 1.3.3     Move...
  45. 1.3.4     Find File...
  46. 1.3.4     Store...
  47. 1.3.5     Help
  48. 1.4       Menü Edit
  49. 1.4.1     Find...
  50. 1.4.1.1   ignore case
  51. 1.4.1.2   start
  52. 1.4.1.3   range
  53. 1.4.2     Find same
  54. 1.4.3     Hide/get
  55. 1.4.3.1   Hide/get verknüpfen mit Suchbegriff.
  56. 1.4.3.2   Hide/get verknüpfen mit Cursorposition
  57. 1.4.4     Find...
  58. 1.4.4.1   ignore case
  59. 1.4.1.2   start
  60. 1.4.1.3   replace
  61. 1.4.1.4   range
  62. 1.4.2     Replace same
  63. 1.4.3     Goto Line...
  64. 1.4.4     Editorflags
  65. 1.4.5     Help
  66. 1.5       Menü Font
  67. 1.5.1     Select
  68. 1.5.2     Unload
  69. 1.5.3     Chrset
  70. 1.5.4     Help
  71. 1.6       Menü Extra
  72. 1.6.1     Menü Tabs...
  73. 1.6.2     Menü Sort...
  74. 1.6.2.1   Sortieren im Editorfenster
  75. 1.6.2.1.1 Columns
  76. 1.6.2.1.2 Selected
  77. 1.6.2.1.3 Direction
  78. 1.6.2.2   Sortieren im Verzeichnisfenster des Filemanagers
  79. 1.6.3     Menü Window...
  80. 1.6.3.1   Position
  81. 1.6.3.2   Size
  82. 1.6.3.3   ⇧⇩
  83. 1.6.3.4   ⇦⇨
  84. 1.6.4     Settings
  85. 1.6.5     Environment...
  86. 1.6.5.1   Strings
  87. 1.6.5.2   Environmentfenster
  88. 1.6.5.3   Clipboard path
  89. 1.6.5.4   Own Fileselector
  90. 1.6.6     Info...
  91. 1.6.7     Make
  92. 1.6.7.1   make
  93. 1.6.7.2   debug only
  94. 1.6.7.3   make all
  95. 1.6.8     Help
  96.  
  97. 2.        Der Filemanager.
  98. 2.1       Die Fenstertypen des Filemanagers
  99. 2.1.1     Das Laufwerksfenster
  100. 2.1.2     Das Treeviewfenster
  101. 2.1.3     Das Dateifenster
  102. 2.1.4     Das Deskfenster
  103. 2.1.5     Pfadnamen
  104. 2.1.6     Zusammenfassung
  105. 2.2       Die Dateifunktionen des Filemanagers.
  106. 2.2.1     Kopieren
  107. 2.2.1.1   Behandlung der Verzeichnisse beim Kopieren.
  108. 2.2.1.2   Kopieroptionen
  109. 2.2.2     Umbenennen
  110. 2.2.3     Verschieben
  111. 2.2.4     Löschen
  112. 2.2.4.1   LöschOptionen
  113. 2.2.5     Dateizeit verändern
  114. 2.2.6     Verzeichnisse einrichten
  115. 2.2.7     Programme starten
  116. 2.2.7.1   Dialog zur Eingabe von Kommandozeilenparametern
  117. 2.2.7.1.1 Cmdline
  118. 2.2.7.1.2 Cmdline
  119. 2.2.7.1.3 Temp
  120. 2.2.7.1.4 Input
  121. 2.2.7.1.5 Output
  122. 2.2.8     Der interne Fileselektor
  123. 2.2.8.1   Bedienung des internen Fileselektorfensters
  124.  
  125. 3         Die Projektverwaltung
  126. 3.1       Einleitung
  127. 3.1.1     Wozu eine Projektverwaltung?
  128. 3.1.2     Wunschtraum: Eine professionelle Projektverwaltung.
  129. 3.1.3     Die Realität (das Machbare)
  130. 3.2       Das Makefenster
  131. 3.2.1     Beispiel für ein Makefenster
  132. 3.2.1.1   was unbedingt nötig ist
  133. 3.2.1.2   Auflockern durch Leerzeilen
  134. 3.2.1.3   Kommentare
  135. 3.2.1.4   Einbeziehung des obersten Fensters
  136. 3.2.2.1   Die Syntax
  137. 3.2.2.2   Auswerten des Returncodes des Compilers.
  138. 3.2.2.3   Verwendung von Makros
  139. 3.3       Optionen der Projektverwaltung
  140. 3.4       Umlenkung der Ausgabe
  141. 3.5       Hinweise zum Gebrauch des Makeutilities.
  142. 3.6       Die Projektverwaltung als allgemeiner TTP-Programmstarter
  143. 3.7       Schlusswort
  144.  
  145. 4.1       Textformatierung
  146. 4.1.1     Übersicht:
  147. 4.1.2     Ablauf
  148. 4.2.1     Formatierung
  149. 4.2.1.1   Steuerung der Formatierung
  150. 4.2.2     Word wrapping
  151. 4.3       Steuerzeichen für die Textformatierung
  152. 4.3.1     Übersicht
  153. 4.3.2     Pseudotrener
  154. 4.3.3     (harter) Zeilenumbruch
  155. 4.3.4     Pseudoblank
  156. 4.3.5     Die Horizontalmarke
  157. 4.3.6     Formatfreier Paragraph
  158. 4.4       Export,Ausgabe des formatierten Textes:
  159.  
  160. 5         Anhang
  161. 5.1       Der Window Manager in Kolumbus
  162. 5.2       Hinweise zum Editor
  163. 5.2.1     Rechtecke im Editor
  164. 5.2.2     Einfügen von Pfadnamen im Editor
  165. 5.2.3     PC-HELP Protokol
  166. 5.3       Umlenkung der Ein-Ausgabe
  167. 5.3.1     Umgelenkt werden können folgende Kanäle:
  168. 5.3.2     Probleme bei der Ein- Ausgabeumlenkung:
  169. 5.4       Tips,Clicks und "Affengriffe"
  170. 5.4.1     Der Window "Fuller":
  171. 5.4.2     Der Window "Mover":
  172. 5.4.3     Die Pfeiltasten:
  173. 5.4.4     Die Funktionstasten:
  174. 5.4.5     Der Window Manager:
  175. 5.4.6     Die Tree-, Laufwerks- und Dateifenster
  176. 5.4.7     Laden u. speichern von Dateien:
  177. 5.4.8     Das Makeutility:
  178. 5.4.9     Markieren, Suchen und ersetzen:
  179. 5.4.10    Block bearbeiten:
  180. 5.4.11    Löschen:
  181. 5.4.12    Undo
  182. 5.4.13    Positionieren
  183. 5.4.14    Zeilen Aus- und Einblenden
  184. 5.5.1     Die KOLUMBUS Fenstertypen
  185.  
  186.  
  187. 0 Übersicht:
  188. ----------------------------------------
  189.  
  190. KOLUMBUS ist eine Entwicklungsumgebung für Komandozeilencompiler und
  191. besteht im wesentlichen aus drei Säulen:
  192.  
  193. -Einem Filemanager
  194. -Einer Projektverwaltung
  195. -Einem Gem-Editor.
  196.  
  197. Mit dem Filemanager können Dateien, Verzeichnisse, Verzeichnisbäume
  198. oder  auch ganze Partitions kopiert oder gelöscht werden. Ausserdem
  199. ist  der  Filemanager ein universeller Programmstarter. Desweiteren
  200. kann der Filemanger nach Dateien suchen.
  201.  
  202. Mit  der  Projektverwaltung lassen sich Compiler- und Linkeraufrufe
  203. automatisieren.  Die  Steuerung  der Projektverwaltung erfolgt über
  204. sogenannte Makedateien.
  205.  
  206. Die   Features   des  Gemeditors  gehen  über  denen  eines  reinen
  207. Ascii-Texteditors  etwas  hinaus.  Er bietet auch einige Grundfunk-
  208. tionen  einer  einfachen Textverarbeitung wie zum Beispiel Randaus-
  209. gleich und halbautomatische Silbentrennung.
  210. Innerhalb  von KOLUMBUS übernimmt der Editor ausserdem die Aufgabe,
  211. die  Ausgaben des Filemanagers und der Projektverwaltung in Fenster
  212. darzustellen  und  auch die Kommandos und Anweisungen des Anwenders
  213. an  beide Programmteile weiterzuleiten. Der Gemeditor ist damit der
  214. Zentrale Programmteil innerhalb von KOLUMBUS.
  215.  
  216.             Die Menüzeile
  217.  
  218. ---------------------------------------------------------------------
  219. 1         Die Menüzeile
  220. 1.1       Menü KOLUMBUS
  221.  
  222. 1.2       Menü File
  223. 1.2.1     New
  224. 1.2.1     Open...
  225. 1.2.1     View...
  226. 1.2.1     Import...
  227. 1.2.1.1   File...
  228. 1.2.1.1   Binary File...
  229. 1.2.1.1   Clipboard
  230. 1.2.1.1   Die Option 'use filter'
  231. 1.2.2     Save
  232. 1.2.3     Save as...
  233. 1.2.4     Abandon
  234. 1.2.4     Export...
  235. 1.2.4.1   Printer
  236. 1.2.4.2   File...
  237. 1.2.4.3   Window
  238. 1.2.4.4   Clipboard
  239. 1.2.4.5   Die Option selected.
  240. 1.2.4.6   Die Option 'use filter'
  241. 1.2.5     Help
  242. 1.2.6     Quit(1)
  243. 1.2.7     Quit
  244.  
  245. 1.3       Menü Drive
  246. 1.3.1     Open...
  247. 1.3.2     Directory...
  248. 1.3.3     Move...
  249. 1.3.4     Find File...
  250. 1.3.4     Store...
  251. 1.3.5     Help
  252.  
  253. 1.4       Menü Edit
  254. 1.4.1     Find...
  255. 1.4.1.1   ignore case
  256. 1.4.1.2   start
  257. 1.4.1.3   range
  258. 1.4.2     Find same
  259. 1.4.3     Hide/get
  260. 1.4.3.1   Hide/get verknüpfen mit Suchbegriff.
  261. 1.4.3.2   Hide/get verknüpfen mit Cursorposition
  262. 1.4.4     Find...
  263. 1.4.4.1   ignore case
  264. 1.4.1.2   start
  265. 1.4.1.3   replace
  266. 1.4.1.4   range
  267. 1.4.2     Replace same
  268. 1.4.3     Goto Line...
  269. 1.4.4     Editorflags
  270. 1.4.5     Help
  271.  
  272. 1.5       Menü Font
  273. 1.5.1     Select
  274. 1.5.2     Unload
  275. 1.5.3     Chrset
  276. 1.5.4     Help
  277.  
  278. 1.6       Menü Extra
  279. 1.6.1     Menü Tabs...
  280. 1.6.2     Menü Sort...
  281. 1.6.2.1   Sortieren im Editorfenster
  282. 1.6.2.1.1 Columns
  283. 1.6.2.1.2 Selected
  284. 1.6.2.1.3 Direction
  285. 1.6.2.2   Sortieren im Verzeichnisfenster des Filemanagers
  286. 1.6.3     Menü Window...
  287. 1.6.3.1   Position
  288. 1.6.3.2   Size
  289. 1.6.3.3   ⇧⇩
  290. 1.6.3.4   ⇦⇨
  291. 1.6.4     Settings
  292. 1.6.5     Environment...
  293. 1.6.5.1   Strings
  294. 1.6.5.2   Environmentfenster
  295. 1.6.5.3   Clipboard path
  296. 1.6.5.4   Own Fileselector
  297. 1.6.6     Info...
  298. 1.6.7     Make
  299. 1.6.7.1   make
  300. 1.6.7.2   debug only
  301. 1.6.7.3   make all
  302. 1.6.8     Help
  303. ---------------------------------------------------------------------
  304.  
  305. 1       Die Menüzeile
  306.  
  307. 1.1     Menü KOLUMBUS
  308.  
  309. Der erste Menüpunkt beherbergt wie üblich den Namen und das Copyright
  310. des  Progamms.  Es erscheint ein Dialog mit dem Namen und Adresse des
  311. Autors.
  312.  
  313. In diesem Dialog gibt es zusätzlich die Option 'Check...'. Mit dieser
  314. Option kann KOLUMBUS gegen Befall von Viren überprüft werden.
  315. Es erscheint  ein Fileselektor, mit dem man den Pfad und Namen der
  316. Programmdatei von KOLUMBUS anwählt.
  317. Durch eingabe von O.k. überprüft KOLUMBUS jetzt seine Checksum. Im
  318. Gutfall erscheint kurz darauf eine Hinweisbox mit 'Checksum O.K.'.
  319.  
  320. Im  Fehlerfall  erscheint 'Checksum wrong' oder 'Checksum not found'.
  321. In  beiden  Fällen  wurde die Programmdatei von KOLUMBUS modifiziert.
  322. Ich  empfehle  in  diesem Fall KOLUMBUS zu löschen und die Platte mit
  323. einem Virusscanner zu überprüfen.
  324.  
  325. Ich  mache  mit  Absicht keine Angaben über die Prüfmethode, damit es
  326. potentiellen  Virusschreibern  etwas  schwieriger haben. Gleichzeitig
  327. möchte  ich  hier  alle  Softwareentwickler  aufrufen, Ihre Programme
  328. durch eine eigene Prüfmethode auszustatten, damit sich Virenschreiber
  329. nicht auf eine Methode 'einschiessen' können.
  330.  
  331.  
  332. 1.1     Menü File
  333.  
  334. Das  File Menü enthält Funktionen zum Laden von Dateien in den Editor
  335. sowie  zum Abspeichern von Dateien aus dem Editor. Ausserdem befindet
  336. sich hier zwei Menüpunkte zum Verlassen von KOLUMBUS.
  337.  
  338.  
  339. 1.2.1   New
  340.  
  341. Mit diesem Menüpunkt wird ein leeres Editorfenster mit dem Dateinamen
  342. 'noname'  erzeugt. Als Pfad wird der Pfadname des bisher aktiven Fen-
  343. sters,  oder wenn das bisher aktive Fenster das Laufwerksfenster war,
  344. der  Defaultpfad  den  KOLUMBUS beim Start vererbt bekommen hat, ver-
  345. wendet.
  346.  
  347.  
  348. 1.2.1   Open...
  349.  
  350. Mit  diesem  Menüpunkt  wird eine Datei in den Editor geladen. Es Er-
  351. scheint ein Fileselektor um den Pfadnamen auszuwählen.
  352.  
  353. Diser  Menüpunkt  ist eigentlich nur dafür gedacht, um neuen KOLUMBUS
  354. Anwendern  den  Einstieg  zu  erleichtern. Eine wesentlich schnellere
  355. komfortablere  und  übersichtliche  Methode  ist es, Dateien über den
  356. Treeviewfenstern  oder  Verzeichnisfenster des Filemanagers zu laden.
  357. Siehe hierzu der Abschnitt über den Filemanager.
  358.  
  359. KOLUMBUS  öffnet  Standartmäßig  alle Dateien im Textmodus. Wählt man
  360. über  den  Fileselektor  eine  Binärdatei aus, das ist eine Datei mit
  361. mindestens  einem  Nullbyte,  so  erscheint ein Dialog in dem man die
  362. Satzlänge  der zu ladenen Datei eintragen kann. Danach wird die Datei
  363. neu als Binärdatei eröffnet und mit fester Satzlänge in den Editor ge-
  364. laden. Mehr dazu später.
  365.  
  366. Existiert  der  im  Fileselektor angegebene Dateiname nicht, wird die
  367. Datei automatisch neu erzeugt.
  368.  
  369. 1.2.1   View...
  370.  
  371. Gleiche  Funktion  wie  unter dem Menüpunkt Open... Nur kann hier die
  372. geladene Datei nur angesehen aber nicht verändert werden.
  373.  
  374. Unabhängig  davon  ist, nur zum Ansehen, eine Tabulatorexpansion mög-
  375. lich.  In  dieser  Expandierten  Form kann die Datei aber nicht unter
  376. gleichem Namen abgespeichert werden.
  377.  
  378.  
  379. 1.2.1   Import...
  380.  
  381. Import einer Datei. Dieser Menüpunkt führt zu einem weiteren Auswahl-
  382. dialog mit den folgenden Optionen:
  383.  
  384. merge
  385. use filter
  386.  
  387. 'merge' und 'use filter' sind optional.
  388.  
  389. Desweiteren  kann  (muss)  in  diesem Dialog angegeben werden, von wo
  390. eine Datei importiert werden soll und welchen Typs diese ist.
  391.  
  392. File...
  393. Binary...
  394. Clipboard
  395.  
  396. Worin bestehen jetzt die Unterschiede zwischen 'importieren' und ein-
  397. fach nur 'laden'?
  398. 1. Durch  die  Option  'merge' wird kein neues Fenster geöffnet, sondern
  399. die zu ladene Datei wird vor der aktuellen Cursorzeile eingefügt.
  400. 2. Durch die Option 'use filter' können automatisch beim Laden eine
  401.    Umkodierung beliebiger Zeichen durchgeführt werden. Mehr dazu
  402.    später.
  403.  
  404.  
  405. 1.2.1.1 File...
  406.  
  407. Import einer Textdatei. Mit dem daraufhin erscheinenden Fileselektor
  408. wird die zu importierende Datei ausgewählt.
  409.  
  410.  
  411. 1.2.1.1 Binary File...
  412.  
  413. Import einer oder als Binärdatei. Zunächst wird mit dem Fileselektor die
  414. Datei Ausgewählt. Danach wird über ein Dialog die Satzlänge abgefragt.
  415.  
  416. Auch  eine Textdatei wird in diesem Modus als Binärdatei geladen. Das
  417. Bedeutet,  daß  hierbei auch die Zeilenendezeichen Sichtbar und somit
  418. 'Editierbar' werden.
  419.  
  420. Auch eine Datenbankdatei mit fester Satzlänge, die in der Regel keine
  421. Zeilenendekennung  haben,  kann  so in den Editor geladen und mit den
  422. gewohnten  Funktionen  'editiert'  werden. Auf diese Art habe ich mal
  423. z.B.  mal  eine  Strukturumwandlung  einer Datenbank vorgenommen. Die
  424. verwendete Datenbank bietete dieses Feature nicht.
  425.  
  426.  
  427. 1.2.1.1 Clipboard
  428.  
  429. Der  aktuelle Inhalt des Clipboards wird gelesen und gemäß den Optio-
  430. nen in ein neues Fenster oder vor die aktuelle Cursozeile kopiert.
  431.  
  432.  
  433. 1.2.1.1 Die Option 'use filter'
  434.  
  435. Die  Option  'use filter' ist nur anwählbar, wenn ein sog. Importfen-
  436. ster  geöffnet  wurde. In einem Importfenster wird mittels einer Fil-
  437. tertabelle  spezifiziert,  welche Zeichen wie umgewandelt werden sol-
  438. len.
  439.  
  440. Beispiel eines Importfensters:
  441.  
  442. Beim  Einlesen  sollen alle "Ä" und "ä" in "Ae" bzw. "ae" umgewandelt
  443. werden:  Der  folgende  Dreizeiler  zeigt  den Inhalt des zugehöhrige
  444. 'Importfensters':
  445.  
  446.                  .import
  447.                  ä=ae
  448.                  Ä=Ae
  449.  
  450. Das  Zeichen  '#'  dient  als  Einleitung  einer  Kommentarzeile im
  451. Importfenster.  Soll  dieses Zeichen umgewandelt werden so wird das
  452. folgendermaßen geschrieben:
  453.  
  454.                  .import
  455.                  \#=§
  456.  
  457. In  diesem  Fall  wird  also  #  durch  §  ersetzt.  Alle Zeichen des
  458. Ersatzstring  können auch zweistellig hexadezimal angegeben werden in
  459. dem ebenfalls ein 'backslash' vorangestellt wird. Beispiel:
  460.  
  461.                  .import
  462.                  ö=\6F\65
  463.                  Ö=\4F\65
  464.  
  465. Hiemit wird ö in oe und Ö in Oe umgewandelt.
  466.  
  467.  
  468. Aufbau des Importfensters:
  469.  
  470. Aus den wenigen beispielen dürfte bereits klar sein, wie ein
  471. 'Importfenster aufgebaut wird:
  472.  
  473. - In der ersten Zeile in der ersten Spalte steht immer '.import'.
  474.  
  475. - durch ein '#' in der ersten Spalte wird eine Kommentarzeile ein-
  476.   geleitet.
  477.  
  478. - die Filtertabelle besteht aus maximal 255 Einträgen der Form
  479.   <ch>=<ersatzstring>.
  480.  
  481. - der Ersatzstring kann auch hexadezimal durch \xx erfolgen.
  482.  
  483. - soll das Zeichen '#' umgewandelt werden, so muss das als '\#'
  484.   geschrieben werden.
  485.  
  486.  
  487. 1.2.2   Save
  488.  
  489. Mit diesem Menüpunkt wird das oberste Fenster abgespeichert. Ist das
  490. oberste Fenster ein Fenster des Filemangers, so ist diese Anweisung
  491. ohne Wirkung.
  492.  
  493.  
  494. 1.2.3   Save as...
  495.  
  496. Mit diesem Menüpunkt kann das oberste Fenster unter neuen Namen ab-
  497. gespeichert werden. Die Eingabe des neuen Namens erfolgt über einen
  498. Fileselektor.
  499.  
  500.  
  501. 1.2.4   Abandon
  502.  
  503. Mit  diesem Menüpunkt wird das oberste Fenster neu in den Editor ein-
  504. gelesen. Alle Änderungen im obersten Fenster werden dabei verworfen.
  505.  
  506.  
  507. 1.2.4   Export...
  508.  
  509. Dieser  Menüpunkt  ist  gewissermaßen  das  Gegenstück zum Import. Er
  510. führt zu einem weiteren Auswahldialog mit den folgenden Optionen:
  511.  
  512. selected
  513. use filter
  514.  
  515. Desweiteren  kann  (muss)  in  diesem Dialog angegeben werden, wohin
  516. das oberste Fenster exportiert werden soll:
  517.  
  518. Printer
  519. File...
  520. Window
  521. Clipboard
  522.  
  523. Der  Unterschied  zwischen  'exportieren' und 'speichern' besteht nun
  524. darin,  daß zusätzlich als "target" der Drucker oder ein Fenster mög-
  525. lich  ist, und daß außerdem wie beim Importieren auch, eine Filterta-
  526. belle verwendet werden kann.
  527. Im  Gegensatz  zum  Import  wird  hier  jedoch  auch  ohne  explizite
  528. Verwendung  einer  Filtertabelle  gefiltert.  Und zwar ist der Export
  529. standartmäßig  exakt  auf  die  bei  der Textformatierung verwendeten
  530. Steuerzeichen  zugeschnitten  (siehe  hiezu  Abschnitt "textformatie-
  531. rung").
  532. Das  heisst im Klartext: Exportiert man eine mit KOLUMBUS formatierte
  533. Textdatei,  so  werden  die 'Horizontalmarke' und 'Pseudoblank' durch
  534. ein  echtes  Blank ersetzt und ein Pseudotrennzeichen am rechten Rand
  535. wird  durch  das  richtige  Silbentrennzeichen  ersetzt. Alle anderen
  536. Steuerzeichen  zur  Textformatierung werden gelöscht. Der exportierte
  537. Text ist also von Steuerzeichen gesäubert und somit "druckreif".
  538.  
  539.  
  540. 1.2.4.1 Printer
  541.  
  542. Das oberste Fenster wird auf den Drucker exportiert (ausgedruckt).
  543.  
  544.  
  545. 1.2.4.2 File...
  546.  
  547. Das  oberste  Fenster wird in eine Datei exportiert. Mit diesem Menü-
  548. punkt  ist  diese  Bedienungsanleitung  und  sind  auch die Helptexte
  549. entstanden.
  550.  
  551.  
  552. 1.2.4.3 Window
  553.  
  554. Das  oberste  Fenster  wird  in  ein neues Fenster exportiert. Dieser
  555. Memüpunkt  bietet  sich dazu an, bevor der Export auf den Drucker er-
  556. folgt, sich das Ergebnis vorab schon mal anzusehen und zu kontrollie-
  557. ren.
  558.  
  559.  
  560. 1.2.4.4 Clipboard
  561.  
  562. Mit  diesem  Menüpunkt wird das oberste Fenster auf das Clipboard ge-
  563. schrieben.
  564.  
  565.  
  566. 1.2.4.5 Die Option selected.
  567.  
  568. Anstatt des gesamten obersten Fensters, wird nur der selektierte
  569. Block exportiert.
  570.  
  571.  
  572. 1.2.4.6 Die Option 'use filter'
  573.  
  574. Diese  Option kann nur angewählt werden, wenn ein 'Exportfenster' ge-
  575. öffnet ist. Ein Exportfenster setzt die oben beschriebene builtin Ex-
  576. portfiltertabelle außer kraft.
  577.  
  578. Ein Exportfilter ist genau so aufgebaut wie ein Importfilter, nur daß
  579. in der ersten Zeile eben '.export' stehen muss.
  580.  
  581. Eine  wichtige  Anwendung  des  Exportfensters ist die Definition und
  582. Umsetzung   von  Druckerescapesequenzen.  Mit  KOLUMBUS  lassen  sich
  583. demnach  nicht  nur  beliebige Druckersteuerzeichenfolgen definieren,
  584. sondern  auch die Zeichen mit denen diese angewählt werden, sind frei
  585. wählbar.
  586. Die  einzigen  Zeichen,  die nicht zur definition der Steuersequenzen
  587. verwendet werden solten, sind die Steuerzeichen für die Textformatie-
  588. rung, da diese Zeichen ja eine vordefinierte Bedeutung haben.
  589.  
  590.  
  591. 1.2.5   Help
  592.  
  593. Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
  594. torfenster, in der alle Menüpunkte aus dem Filemenü noch einmal teil-
  595. weise mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
  596. zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
  597.  
  598.  
  599. 1.2.6   Quit(1)
  600.  
  601. Mit diesem Menüpunkt wird KOLUMBUS verlassen. Vorher werden alle ver-
  602. änderten Dateien ohne Nachfrage abgespeichert.
  603. Das  aufrufende Programm bekommt als Returncode eine '1' zurückgelie-
  604. fert.
  605.  
  606. Wurde KOLUMBUS von einer Shell her gestartet, so kann diese daraufhin
  607. einen Compilerlauf starten. Wird KOLUMBUS mit Quit verlassen,
  608. so beendet sich KOLUMBUS stehts mit Returncode=0.
  609.  
  610. Anmerkung:  in  der  Regel  wird  man  einen  Compilerlauf  nicht mit
  611. Quit(1),  sondern ohne Verlassen des Editors mit der builtin Projekt-
  612. verwaltung  starten.  (Siehe  ausführlich im Abschnitt Projektverwal-
  613. tung).
  614.  
  615.  
  616. 1.2.7   Quit
  617.  
  618. Mit diesen Menüpunkt wird KOLUMBUS verlassen. Vorher erfolgt für jede
  619. veränderte  Datei, die noch nicht abgespeichert worden ist, eine Dia-
  620. logabfrage, ob die Datei gesichert werden soll oder nicht.
  621.  
  622.  
  623. 1.3     Menü Drive
  624.  
  625. Dieses  Menü  gehört  ganz  dem Filemanager von KOLUMBUS. Hier lassen
  626. sich  Treeviews erstellen, Verzeichnisse einrichten, nach Dateien su-
  627. chen, konfigurieren von welchen Laufwerken ein Treeview abgespeichert
  628. werden soll. Außerdem ist von hier das Laufwerksfenster erreichbar.
  629.  
  630.  
  631. 1.3.1   Open...
  632.  
  633. Mit  diesem Menüpunkt wird das Laufwerks- bzw. Filesystemfenster 'U:'
  634. eröffnet.  Hier  befinden  sich  unter  single TOS die Laufwerke, und
  635. unter MiNT zusaetzliche Filesysteme.
  636. Durch  Anklicken eines Laufwerkes/Filesystemes Oeffnet sich ein neues
  637. Fensters,  in dem die Ordnerstruktur des Laufwerks/Filesystems darge-
  638. stellt  wird  (Treefenster).  Durch Einfachklick auf einen beliebigen
  639. Ordner in beliebiger Tiefe, kann nun direkt in jedes Unterver- zeich-
  640. nis  gesprungen werden. Wird dabei die Taste ^(Control) gedrueckt, so
  641. wird  der  Inhalt  des  alten Treefensters durch den Inhalt des Ange-
  642. klickten Ordners ersetzt. Wird ^ nicht gedrueckt, wird der Inhalt des
  643. Ordners in einem neuen Fenster dargestellt (Dateifenster).
  644.  
  645. Dem Filemanager ist auch ein eigenes Kapitel gewidmet.
  646.  
  647.  
  648. 1.3.2   Directory...
  649.  
  650. Mit  diesem  Menüpunkt kann ein neuer Ordner erzeugt werden. Der Name
  651. des Ordners wird mit der Fileselektorbox abgefragt: Man "klickt" sich
  652. zuerst  in  das Verzeichnis hinein , in das der Ordner erzeugt werden
  653. soll,  und  ruft dann den Menuepunkt auf. Es erscheint dann eine Dia-
  654. logbox, in der der Ordnername eingegeben wird.
  655.  
  656. Dieses  Menü  ist  nur aktiv geschaltet, wenn das oberste Fenster ein
  657. Verzeichnisfenster ist.
  658.  
  659.  
  660. 1.3.3   Move...
  661.  
  662. Mit diesem Menüpunkt werden Dateien verschoben.
  663. Zunaechst  muss  das  Verzeichnisfenster  in das die Datei verschoben
  664. werden soll geoeffnet. Dann wird der Menuepunkt ausgewählt. Jetzt er-
  665. scheint  die  Dateiselektorbox  um  die zu verschiebende Datei auszu-
  666. wählen.
  667.  
  668. Dieses  Menü  ist  nur aktiv geschaltet, wenn das oberste Fenster ein
  669. Verzeichnisfenster ist.
  670.  
  671.  
  672. 1.3.4   Find File...
  673.  
  674. Mit diesem Menüpunkt wird auf einem anwählbaren Laufwerk nach Dateien
  675. gesucht.
  676.  
  677. Dieses  Menü  ist  nur aktiv geschaltet, wenn das oberste Fenster ein
  678. Verzeichnisfenster ist.
  679.  
  680. Zunaechst  wird  wieder  das Verzeichnisfenster geoeffnet, ab dem die
  681. Suche durchgeführt werden soll. Dann wird der Menuepunkt angeklickt.
  682.  
  683. Ist unter MiNT das builtin Selektorfenster aktiviert, kann eine durch
  684. Kommata  getrennt  Liste  von  Zeichenmuster zur Dateisuche angegenen
  685. werden.  Im  Moment  ist es noch nicht moeglich nach Wildcards zu su-
  686. chen.  Wird das interne Selektorfenster nicht verwendet, wird die Se-
  687. lektorbox  des  AES gerufen. Hier haengt es von der fähigkeit der Se-
  688. lektorbox ab, ob Widcards verwendet werden können.
  689.  
  690. Nach  dem Verlassen der Box öffnet sich nun ein Treefenster. Im Tree-
  691. fenster  ist  der gesamte Laufwerkbaum des angewählten Laufwerkes und
  692. zusätzlich  alle  gefundenen Dateien zu sehen; Alles ist entsprechend
  693. der Tiefe im Baum eingerückt.
  694.  
  695. In dem Treefenster hat man folgende Möglichkeiten:
  696.  
  697. - Anklicken eines Ordnernamens : Es öffnet sich ein weiterres Fenster
  698.   mit allen Verzeichniseinträgen des angeklickten Ordners.
  699.  
  700. - Die  gleiche  Funktion  wird erreicht, indem man den Cursor auf die
  701.   Zeile,  in  der  der Ordnername steht, positioniert und dann Return
  702.   drückt.
  703.  
  704. - Anklicken  eines Programmnamens (.APP, .PRG, .TTP, .TOS): Das ange-
  705.   klickte Programm wird gestartet.
  706.  
  707.  
  708. - Die  gleiche  Funktion wird wie oben erreicht, indem man den Cursor
  709.   auf die Zeile, in der der Programmname steht, positioniert und dann
  710.   Return drückt.
  711.  
  712. Kolumbus  unterscheidet  die obigen beiden Möglichkeiten je- weils an
  713. Hand der Dateiextension.
  714.  
  715. Bevor Kolumbus ein anderes Programm startet, schließt er alle Fenster
  716. und  gibt die Menuzeile frei. Ein gerufenes Programm hat demnach alle
  717. Gemfenster zur Verfügung.
  718.  
  719.  
  720. 1.3.4   Store...
  721.  
  722. KOLUMBUS speichert sich die komplette Hierarchie der Verzeichnisse in
  723. der  Datei  "a__TREE__"  ab,  wobei  'a'  fuer ein Laufwerksbuchstabe
  724. steht.
  725. Mit diesem Menüpunkt kann nun eingestellt werden, ob und wenn ja von wel-
  726. chen Laufwerken Treeviews abgespeichert werden sollen.
  727.  
  728. Öffnet  nun KOLUMBUS ein Treeviewfenster, so schaut es zunächst nach,
  729. ob  zum  Laufwerk  bereits  ein  Treeview existiert. Wenn ja wird der
  730. Treeview  nicht  neu erzeugt, sondern aus der Datei 'a__TREE__' gele-
  731. sen. Wenn nein wird dieser erzeugt und ggflls. abgespeichert.
  732.  
  733. Durch  das  Laden des Treeviews aus einer Datei kommt es insbesondere
  734. bei  großen Laufwerken und ganz ganz besonders unter MiNT zu einer e-
  735. normen Beschleunigung beim Öffnen des Laufwerks.
  736.  
  737. Wird  nun  auf  einem Laufwerk ein neues Verzeichnis erzeugt, so wird
  738. die  Treeviewdatei  nicht  automatisch aktualisiert. Vieleicht möchte
  739. man  ja  mehrere  Verzeichnisse  neu kreieren und dann wäre es lästig
  740. wenn der Treeview jedesmal neu erstellt würde.
  741.  
  742. Ist  das  oberste Fenster ein Treeviewfenster, kann durch Drücken der
  743. Taste  'Escape' kann die Neuerstellung eines Treeviews erzwungen wer-
  744. den.  Ist  in  diesem Fall die Option für das Abspeichern nicht akti-
  745. viert,  so fragt KOLUMBUS doch vorsichtshalber noch einmal nach, wenn
  746. es sich um das Laufwerk einer Harddisk handelt.
  747.  
  748. Für das Laufwerk U: kann kein Treeview erzeugt werden.
  749.  
  750.  
  751. 1.3.5   Help
  752.  
  753. Dieser Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
  754. torfenster,  in  der  alle  Menüpunkte  aus dem Drivemenü noch einmal
  755. teilweise  mit Beispielen erklärt werden. Auch die Tastaturkürzel für
  756. einzelne Funktionen sind dort, soweit vorhanden, aufgeführt.
  757.  
  758.  
  759.  
  760. 1.4     Menü Edit
  761.  
  762. Unter diesem Menüpunkt sind alle Editorfunktionen zusammengefasst. Von
  763. hier  aus  läßt  bzw. lassen sich Zeichenketten suchen, Zeilen im Edi-
  764. torfenster  verstecken  (mit  und  ohne  Verknüpfung  mit  einem Such-
  765. kommando) , Zeichenketten suchen und ersetzen, springen nach einer be-
  766. stimmten Zeilennummer.
  767. Des weiteren können von hier eineige Einstellungen am Editor vorgenom-
  768. men  werden: Automatische Einrückung, rechts stehende Leerzeichen beim
  769. Abspeichern  entfernt  werden,  den  automatischen  Zeilenumbruch ein-
  770. /ausschalten, anfertigen einer Backupdatei vor dem Abspeichern von Än-
  771. derungen,  und die automatische Erkennung der Zeilenendecodierung ein-
  772. schalten.
  773.  
  774.  
  775. 1.4.1   Find...
  776.  
  777. Mit  diesem  Menüpunkt kann nach Zeichenketten im obersten Fenster ge-
  778. sucht  werden.  Dabei ist es egal ob das oberste Fenster ein Textdatei
  779. oder ein Fenster des Filemanagers ist.
  780.  
  781. Vor  dem Beginn der Textsuche wird über ein Dialog das Suchmuster ein-
  782. gegeben.  Über  diesen  Dialog  läßt  sich  die  Suche  folgendermaßen
  783. modifizieren:
  784.  
  785.  
  786. 1.4.1.1 ignore case
  787.  
  788. Hier  wird  eingestellt, ob die Suche casesensitiv oder nicht durchge-
  789. führt werden soll.
  790.  
  791.  
  792. 1.4.1.2 start
  793.  
  794. Hier wird der Startpunkt und die Richtung der Textsuche eingestellt:
  795.  
  796. First:  Die  Suche  beginnt  bei  der ersten (selektierten) Zeile. Die
  797.         Suchrichtung ist Zeilenweise vorwärts.
  798.  
  799. Cursor: Die  Suche beginnt an der Cursorposition. Die Suchrichtung ist
  800.         Zeilenweise vorwärts.
  801.  
  802. Last:   Die  Suche  beginnt  bei der letzten (selektierten) Zeile. Die
  803.         Suchrichtung ist Zeilenweise rückwärts.
  804.  
  805.  
  806. 1.4.1.3 range
  807.  
  808. Hier kann eingestellt werden, ob die Textsuche in der Ganzen Datei
  809. oder nur in einem selektierten Zeilenblock durchgeführt werden soll:
  810.  
  811. all:      Die Suche erfolgt in der ganzen Datei.
  812.  
  813. selected: Die Suche erfolgt nur im selektierten Zeilenbereich. Soll ab
  814.           Cursorspositon  gesucht  werden,  so muss sich der Cursor im
  815.           selektierten Zeilenblock befinden.
  816.           'selected'  ist nur anwählbar, wenn auch aktuell ein Zeilen-
  817.           bereich selektiert ist.
  818.  
  819.  
  820. 1.4.2   Find same
  821.  
  822. Dieser Menüpunkt arbeitet zusammen mit dem Menüpunkt find... Das letz-
  823. te  Suchkommando  wird wiederholt bzw. an der aktuellen Cursorposition
  824. fortgesetzt.
  825.  
  826.  
  827. 1.4.3   Hide/get
  828.  
  829. Mit  diesem  Menüpunkt können Zeilen ausgeblendet werden. Es erscheint
  830. ein  Dialog  um  die  auszublendenden Zeilen auszuwählen. Die Einstel-
  831. lungsmöglichkeiten  sind  recht  vielfältig,  denn das Ausblenden kann
  832. auch mit einem Suchbegriff und/oder mit einem selektierten Zeilenblock
  833. verknüpft werden.
  834.  
  835. Grundsätzlich gilt: Ausgeblendete Zeilen sind von weiteren Operationen
  836. wie  Suchen,  Kopieren, Löschen ... ausgeschlossen. Eine Ausnahme gibt
  837. es  allerdings:  Beim  Abspeichern werden ausgeblendete Zeilen mit be-
  838. rücksichtigt.
  839.  
  840. Ausgeblendete Zeilen werden folgendermaßen dargestellt:
  841.  
  842.  - - - - - -             <n> line(s) not displayed
  843.  
  844. wobei <n> für die Anzahl der Zeilen steht.
  845.  
  846.  
  847. 1.4.3.1 Hide/get verknüpfen mit Suchbegriff.
  848.  
  849. Wird in  dem Dialog 'hide matched' oder 'hide not matched' ausgewählt,
  850. werden alle Zeilen in denen der Suchbegriff vorkommt ausgeblended.
  851.  
  852. ignore case: Die Suche erfolgt casesensisitiv oder nicht.
  853.  
  854. selected:    Die  Suche bleibt beschränkt auf den selektierten Zeilen-
  855.              bereich.
  856.  
  857.  
  858. 1.4.3.2 Hide/get verknüpfen mit Cursorposition
  859.  
  860. Wird  im  Dialog einer der Optionen hide all, hide before, hide after,
  861. get all,  get before, get after angewählt, ist ein eventuell angegebe-
  862. ner Suchstring ohne Bedeutung.
  863.  
  864. hide all:    Es  werden alle Zeilen oder alle selektierten Zeilen aus-
  865.              geblended.
  866.  
  867. hide before: Es  werden  alle  Zeilen  von  der ersten oder der ersten
  868.              selektierten  Zeile  bis  zur Zeile vor dem Cursor ausge-
  869.              blended.
  870.  
  871. hide after:  Es werden alle Zeilen von der Zeile hinter dem Cursor bis
  872.              zur  letzten  oder  der letzten selektierten Zeile ausge-
  873.              blended.
  874.  
  875. get all:     Es  werden  alle  Zeilen  oder  alle  selektierten Zeilen
  876.              wie der sichtbar gemacht.
  877.  
  878. get before:  Es  werden  alle  Zeilen  von  der ersten oder der ersten
  879.              selektierten  Zeile bis zur Zeile vor dem Cursor sichtbar
  880.              gemacht.
  881.  
  882. get after:   Es werden alle Zeilen von der Zeile hinter dem Cursor bis
  883.              zur  letzten  oder  der letzten selektierten Zeile wieder
  884.              sichtbar gemacht.
  885.  
  886.  
  887. 1.4.4   Find...
  888.  
  889. Mit  diesem  Menüpunkt können Zeichenketten im obersten Fenster er-
  890. setzt  werden.
  891.  
  892. Vor dem Beginn der Textsuche wird über ein Dialog sowohl das Suchmuster
  893. als  auch das Ersatzmuster eingegeben. Über diesen Dialog läßt sich die
  894. Suche folgendermaßen modifizieren:
  895.  
  896.  
  897. 1.4.4.1 ignore case
  898.  
  899. Hier  wird  eingestellt, ob die Suche casesensitiv oder nicht durchge-
  900. führt werden soll.
  901.  
  902.  
  903. 1.4.1.2 start
  904.  
  905. Hier wird der Startpunkt und die Richtung der Textsuche eingestellt:
  906.  
  907. First:  Die  Suche  beginnt  bei  der ersten (selektierten) Zeile. Die
  908.         Suchrichtung ist Zeilenweise vorwärts.
  909.  
  910. Cursor: Die  Suche beginnt an der Cursorposition. Die Suchrichtung ist
  911.         Zeilenweise vorwärts.
  912.  
  913. Last:   Die  Suche  beginnt  bei der letzten (selektierten) Zeile. Die
  914.         Suchrichtung ist Zeilenweise rückwärts.
  915.  
  916.  
  917. 1.4.1.3 replace
  918.  
  919. Hier wird eingestellt, ob nur das erste oder alle vorkommen des Suchbegriffs
  920. ersetzt werden sollen:
  921.  
  922. all:    Alle Vorkommen des Suchbegriffs werden ersetzt.
  923.  
  924. single: Nur das naächste Vorkommen des Suchbegriffs ersetzt.
  925.  
  926.  
  927. 1.4.1.4 range
  928.  
  929. Hier kann eingestellt werden, ob die Textsuche in der Ganzen Datei
  930. oder nur in einem selektierten Zeilenblock durchgeführt werden soll:
  931.  
  932. all:      Die Suche erfolgt in der ganzen Datei.
  933.  
  934. selected: Die Suche erfolgt nur im selektierten Zeilenbereich. Soll ab
  935.           Cursorspositon  gesucht  werden,  so muss sich der Cursor im
  936.           selektierten Zeilenblock befinden.
  937.           'selected'  ist nur anwählbar, wenn auch aktuell ein Zeilen-
  938.           bereich selektiert ist.
  939.  
  940.  
  941. 1.4.2   Replace same
  942.  
  943. Dieser  Menüpunkt  arbeitet  zusammen  mit dem Menüpunkt Replace... Das
  944. letzte  Suchkommando  wird wiederholt bzw. an der aktuellen Cursorposi-
  945. tion fortgesetzt.
  946.  
  947.  
  948. 1.4.3   Goto Line...
  949.  
  950. Mit  diesem  Menüpunkt kann im obersten Fenster der Cursor auf eine be-
  951. liebige Zeile gesetzt werden.
  952.  
  953. Die Zeilennummer wird über einen Dialog eingegeben.
  954.  
  955.  
  956. 1.4.4   Editorflags
  957.  
  958. Mit den folgenden Einträgen im Edit Menü können einige Editorflags
  959. gesetzt werden:
  960.  
  961. Auto Indent:   Automatisches   Einrücken  beim  Schreiben  einer  neuen
  962.                Zeile.
  963.  
  964. Kill Blanks:   Beim  Abspeichern einer Datei werden alle rechten Blanks
  965.                gelöscht.
  966.  
  967. Word Wrapping: Während  des  Schreibens eines Textes erfolgt am rechten
  968.                Fensterrand  automatisch  ein  Umbruch.  Dabei  wird ein
  969.                angebrochenes  Wort  vollständig  in  die  nächste Zeile
  970.                übertragen.
  971.  
  972. Backup:        Vor dem Abspeichern eines Textes aus dem Editor wird die
  973.                alte  Datei  mit  der  Extension ".bak" gesichert. Dabei
  974.                hängt es vom Filesystem ab, ob die neue Extension an den
  975.                alten  Namen angehängt werden kann oder ob die Extension
  976.                der Datei ausgetauscht wird.
  977.  
  978. Auto Crlf      Wenn diese Flag eingeschaltet ist, erkennt KOLUMBUS au-
  979.                tomatisch beim Einlesen einer Datei, mit welcher Kombi-
  980.                nation aus CR/LF das Zeilenende kodiert wird.
  981.                Abgespeichert  wird eine Textdatei allerdings immer mit
  982.                beiden zeichen CR/LF.
  983.                Diese  Option  darf  bei  Dateien  in denen Zeichen zur
  984.                Textformatierung enthalten sind nicht gesetzt sein. An-
  985.                dernfalls geht das Zeichen für den harten Zeilenumbruch
  986.                beim Einlesen verloren.
  987.  
  988.  
  989. 1.4.5   Help
  990.  
  991. Dieser  Menüpunkt  lädt eine online Helpdatei nur zum Lesen in ein Edi-
  992. torfenster, in der alle Menüpunkte aus dem Editormenü noch einmal teil-
  993. weise  mit  Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
  994. zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
  995.  
  996.  
  997. 1.5     Menü Font
  998.  
  999. In  diesem  Menü  können  Fonts  nachgeladen,  entladen und ausgewählt
  1000. werden.   Desweiteren   können  von  diesem  Menü  aus  der  komplette
  1001. Zeichensatz   des   aktuell   ausgewählten   Fonts  in  einem  Fenster
  1002. dargestellt  dargestellt  werden.  Mit  Hilfe  dieses  Fensters können
  1003. beliebige Zeichen aus dem Font auf die Funktionstasten gelegt werden.
  1004.  
  1005.  
  1006. 1.5.1   Select
  1007.  
  1008. Es  erscheint  ein  Dialog in dem ein neuer Font aus einer Auswahl von
  1009. maximal  10  Fonts  bzw. eine neue Schriftgrösse aus einer Auswahl von
  1010. maximal  3  Schriftgrößen ausgewählt werden kann. Falls noch nicht ge-
  1011. schehen, werden die Fonts vorher nachgeladen.
  1012.  
  1013. Die Fontauswahl erfolgt an Hand des Fontnamens.
  1014.  
  1015. KOLUMBUS unterstützt nur proportionale GDOS-Fonts.
  1016.  
  1017.  
  1018. 1.5.2   Unload
  1019.  
  1020. Wer  mit seinem Speicher haushalten muss kann hier die geladenen Fonts
  1021. wieder entladen. Entladene Fonts können jederzeit nochmals nachgeladen
  1022. werden.
  1023.  
  1024.  
  1025. 1.5.3   Chrset
  1026.  
  1027. Es erscheint ein Fenster, in dem der komplette Zeichensatz
  1028. dargestellt wird. Das Fenster trägt den Titel CHARACTERSET.
  1029.  
  1030.  
  1031.      0 1 2 3 4 5 6 7 8 9 A B C D E F
  1032.                                     
  1033.   0    ⓪   0 @ P ` p Ç É á ã ij ס α ≡
  1034.   1  ⇧ ① ! 1 A Q a q ü æ í õ IJ ע β ±
  1035.   2  ⇩ ② " 2 B R b r é Æ ó Ø א פ Γ ≥
  1036.   3  ⇨ ③ # 3 C S c s â ô ú ø ב צ π ≤
  1037.   4  ⇦ ④ $ 4 D T d t ä ö ñ œ ג ק Σ ⌠
  1038.   5  ❎ ⑤ % 5 E U e u à ò Ñ Œ ד ר σ ⌡
  1039.   6  ╱ ⑥ & 6 F V f v å û ª À ה ש µ ÷
  1040.   7  ◆ ⑦ ' 7 G W g w ç ù º Ã ו ת τ ≈
  1041.   8  ✓ ⑧ ( 8 H X h x ê ÿ ¿ Õ ז ן Φ °
  1042.   9       ⑨ ) 9 I Y i y ë Ö ⌐ ¨ ח ך Θ ∙
  1043.   A  
  1044.  ə * : J Z j z è Ü ¬ ´ ט ם Ω ·
  1045.   B  ♪  + ; K [ k { ï ¢ ½ † י ף δ √
  1046.   C     , < L \ l | î £ ¼ ¶ כ ץ ∮ ⁿ
  1047.   D  
  1048.   - = M ] m } ì ¥ ¡ © ל § ϕ ²
  1049.   E    . > N ^ n ~ Ä ß « ® מ ∧ ∈ ³
  1050.   F    / ? O _ o  Å ƒ » ™ נ ∞ ∩ ¯
  1051.  
  1052. Mit  Hilfe diese Fensters kann ein beliebiges Zeichen auf eine Funkti-
  1053. onstaste gelegt werden:
  1054. Das  Verfahren  dazu  ist denkbar einfach: Man positioniert den Cursor
  1055. auf  ein  Zeichen und drückt dann die gewünschte Funktionstaste, unter
  1056. der das Zeichen abrufbar sein soll.
  1057.  
  1058. KOLUMBUS unterstützt bis zu 40 Funktionstastenbelegungen:
  1059.  
  1060.       F1  ..  F10
  1061.       ^F1 .. ^F10
  1062.       ◆F1 .. ◆F10
  1063.       ◆^F1..◆^F10
  1064.  
  1065. Selbstverständlich wird die Belegung der Funktionstasten mit dem Menu-
  1066. punkt Extra.SaveSettings gesichert.
  1067.  
  1068.  
  1069. 1.5.4   Help
  1070.  
  1071. Dieser  Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
  1072. torfenster,  in der alle Menüpunkte aus dem Fontmenü noch einmal teil-
  1073. weise  mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
  1074. zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
  1075.  
  1076.  
  1077. 1.6     Menü Extra
  1078.  
  1079. Diese  Menü enthält zwei Funktionen des Editors ( Behandlung des Tabu-
  1080. lators, sortieren von Datensätzen), gestattet Lage und Größe des ober-
  1081. sten  Fensters  einzustellen,  eine  Funktion zum Abspeichern der Set-
  1082. tings,  eine Funktion zum Einstellen des Environments von aus KOLUMBUS
  1083. heraus  gestarteten  Programmen,  einen Infodialog, und den Aufruf der
  1084. Projektverwaltung.
  1085.  
  1086.  
  1087. 1.6.1   Menü Tabs...
  1088.  
  1089. Dieser Menüpunkt führt zu einem Dialog mit den folgenden Einstellungs-
  1090. möglichkeiten:
  1091.  
  1092. Expand  : Expandieren der Tabulatorzeichen
  1093. Compress: Komprimieren von Leerzeichen in Tabulatorzeichen
  1094. Size    : Anzahl der Leerzeichen je Tabulatorzeichen
  1095.  
  1096. Nach  der Eingabe von 'Ok' werden im obersten Fenster gemäß den obigen
  1097. Schaltern expandiert oder Leerzeichen komprimiert.
  1098.  
  1099. selected: Ist  im obersten Fenster ein Zeilenblock selektiert, so gibt
  1100.           es  außerdem die Möglichkeit die Tabulatorexpansion/-kompri-
  1101.           mierung auf den selektierten Block einzuschränken.
  1102.  
  1103.  
  1104. 1.6.2   Menü Sort...
  1105.  
  1106. Dieser  Menüpunkt  ist kontextsensitiv. Je nachdem ob das oberste Fen-
  1107. ster  ein  Editorfenster  oder ein Verzeichnisfenster des Filemanagers
  1108. ist, können über zwei verschiedene Dialoge die Sortierparameter einge-
  1109. stellt werden.
  1110.  
  1111.  
  1112. 1.6.2.1 Sortieren im Editorfenster
  1113.  
  1114. Es erscheint ein Dialog, in dem die Spalten und Zeilen nach denen
  1115. sortiert werden soll eingegeben kann, Außderdem kann eingestellt
  1116. werden ob auf- oder absteigend Sortiert werden soll.
  1117.  
  1118.  
  1119. 1.6.2.1.1 Columns
  1120.  
  1121. Hier werden die Spalten eingestellt, nach denen Sortiert werden soll:
  1122.  
  1123. all  : Es wird nach ganze Zeilen sortiert.
  1124. range: Ist diese Option gesetzt kann über 'from' und 'to' der Spalten-
  1125.        bereich, nach dem sortiert werden soll definiert werden.
  1126.  
  1127. Fällt  eine Leerzeile in den Sortierbereich, oder ist eine Zeile klei-
  1128. ner als im Spaltenbereich unter 'range' angegeben, so wird so sortiert
  1129. als stünden Leerzeichen im angegebenen Spaltenbereich.
  1130.  
  1131.  
  1132. 1.6.2.1.2 Selected
  1133.  
  1134. Ist  im  obersten Fenster ein Zeilenblock selektiert, so kann das Sor-
  1135. tieren auf diesen Zeilenblock beschränkt werden.
  1136.  
  1137.  
  1138. 1.6.2.1.3 Direction
  1139.  
  1140. Hier wird eingestellt, ob aufsteigend oder absteigend sortiert werden
  1141. soll.
  1142.  
  1143. Ascend : Es wird aufsteigend sortiert.
  1144. Descend: Es wird absteigend sortiert.
  1145.  
  1146.  
  1147. 1.6.2.2 Sortieren im Verzeichnisfenster des Filemanagers
  1148.  
  1149. Ein Verzeichnisfenster des Filemanagers kann nach folgenden Krite-
  1150. rien sortiert werden:
  1151.  
  1152. Name     : Sortiert wird nach dem Dateinamen. Damit ist der Name bis
  1153.            zum ersten Punkt gemeint.
  1154. Extension: Sortiert wird nach der dateiendung. damit des der Namens-
  1155.            teil nch dem letzten Punkt gemeint.
  1156. Length   : Sortiert wird nach Dateilänge.
  1157. Date     : Sortiert wird nach Datum.
  1158. Time     : Sortiert wird nach Uhrzeit.
  1159. Unsort  : Die Darstellung erfolt unsortiert. Damit ist die Reihenfolge
  1160.           gemeint, wie die Dateien im Verzeichnis stehen.
  1161.  
  1162.  
  1163. 1.6.3   Menü Window...
  1164.  
  1165. Dieser Menüpunkt gehört dem Windowmanager von KOLUMBUS.
  1166.  
  1167. Mit  diesem Menüpunkt kann Größe und Lage des obersten Fensters beein-
  1168. flusst  werden.  Die  folgenden  beiden Optionen 'Position' und 'Size'
  1169. können auch kombiniert verwendet werden.
  1170.  
  1171. Weitere Informationen über den Windowmanager finden Sie in den Kapitel
  1172. "Window Manager".
  1173.  
  1174.  
  1175. 1.6.3.1 Position
  1176.  
  1177. Mit  dieser  Option  kann zwischen 9 vordefinierten Positionen gewählt
  1178. werden:
  1179.  
  1180. Oben : Links/Mitte/Rechts
  1181. Mitte: Links/Mitte/Rechts
  1182. Unten: Links/Mitte/Rechts
  1183.  
  1184. unchanged: Keine Veränderung der Position.
  1185.  
  1186.  
  1187. 1.6.3.2 Size
  1188.  
  1189. Mit  dieser  Option  kann  zwischen 4 vordefinierten Größen ausgewählt
  1190. werden:
  1191.  
  1192. max   : Fenstergröße maximal
  1193. middle: Fenstergröße mittelgroß
  1194. little: Fenstergröße klein
  1195. min   : Fenstergröße minimal
  1196.  
  1197. unchanged: Keine Veränderung der Fenstergröße
  1198.  
  1199.  
  1200. 1.6.3.3 ⇧⇩
  1201.  
  1202. Mit  dieser Option wird das oberste Fenster unter Beibehaltung der ak-
  1203. tuellen Breite auf maximale Höhe gebracht.
  1204. Wird  diese  Option  erneute  ausgewählt, so wird die alte Höhe wieder
  1205. hergestellt.
  1206.  
  1207.  
  1208. 1.6.3.4 ⇦⇨
  1209.  
  1210. Mit dieser Option wird das oberste Fenster unter Beibehaltung der
  1211. aktuellen Höhe auf maximale Breite gebracht.
  1212. Wird diese Option erneute ausgewählt, so wird die alte Breite wieder
  1213. hergestellt.
  1214.  
  1215.  
  1216. 1.6.4   Settings
  1217.  
  1218. KOLUMBUS  gestattet  es,  alles  was  in  den  Dialogen  an Parametern
  1219. eingestellt  werden  kann, in Konfigurationsdateien abzuspeichern. Die
  1220. Konfigurationsdateien müssen die Dateiendung '.cnf' besitzen.
  1221. Die  Standartkonfigurationsdatei  'kolumbus.cnf' wird automatisch beim
  1222. Start von KOLUMBUS geladen.
  1223.  
  1224. Mit diesem Menüpunkt können die Voreinstellungen abgespeichert oder
  1225. neu geladen werden.
  1226.  
  1227. Save      : Die  aktuelle Konfiguration wird in der Standartkonfigura-
  1228.             tionsdatei im Ordner 'intern' abgespeichert.
  1229.  
  1230. Save as   : Die  aktuelle  Konfiguration  wird in einer frei wählbaren
  1231.             Konfigurationsdatei,  die  über  einen Fileselektor ausge-
  1232.             wählt wird, abgespeichert
  1233.  
  1234. Load      : Die  Standartkonfigurationsdatei aus dem Ordner 'intern'
  1235.             wird geladen.
  1236.  
  1237. Load from : Eine  frei  wählbare  Konfigurationsdatei,  die über einen
  1238.             Fileselektor ausgewählt wird, wird geladen.
  1239.  
  1240. KOLUMBUS   sucht  die  cnf-Dateien  standartmäßig  im  Environmentpfad
  1241. 'KOLUMBUS'.  Ist  im  Environment  kein  Suchpfad  definiert,  so wird
  1242. ersatzweise  nach  dem  Ordner  'intern'  im  aktuellen  Pfad, von dem
  1243. Kolumbus gestartet wurde, gesucht.
  1244.  
  1245.  
  1246.  
  1247. 1.6.5   Environment...
  1248.  
  1249. In diesem Menüpunkt werden folgende Voreinstellungen zusammengefasst.
  1250. Environmentstrings,  die  an durch KOLUMBUS gestartete Programme wei-
  1251. tervererbt   werden,   ein   eventuell   vorhandener   Clipboardpath.
  1252. Desweiteren  kann  angegeben  werden,  ob  die  Maus  beim  Start von
  1253. KOLUMBUS  eingeschaltet  ist oder nicht. Einige Shells verhalten sich
  1254. da leider nicht so wie der Desktop (Maus ist eingeschaltet).
  1255. Ausserdem  läßt  sich  hier,  soweit  MiNT gestartet ist, der interne
  1256. Fileselektor von  KOLUMBUS  aktivieren, der es gestattet auch längere
  1257. Dateinamen darstellen zu können.
  1258.  
  1259.  
  1260. 1.6.5.1 Strings
  1261.  
  1262. Hier  können die Pfadnamen dreier Environmentvariablen definiert wer-
  1263. den. Diese Pfadnamen werden an alle Programme vererbt, die von KOLUM-
  1264. BUS gestartet werden.
  1265. Diese  Methode,vor  allem aus der UNIX- und MS-DOS Welt bekannt, wird
  1266. bürgert sich so ganz allmählich auf den Atari Rechnern ein. Insbeson-
  1267. dere  verwenden  einige  PD  Compiler  z.B. Sozobon-C und GNU-C diese
  1268. Technik der Pfadnamenvorgabe und sind für deren Betrieb unbedingt nö-
  1269. tig.
  1270. Eine Variable wird wie folgt definiert:
  1271.  
  1272.                         NAME=WERT
  1273.  
  1274. WERT  ist(sind) i.a. ein oder mehrere Suchpfade in denen die Ein- und
  1275. oder  Ausgabedateien  des  zu  startenden  Programmes  stehen. Werden
  1276. mehrere  Pfade für eine Variable definiert, so werden diese durch ein
  1277. Semikolon  getrennt.  Am Ende darf weder ein Semikolon noch ein Back-
  1278. slash  '\'  stehen. Es sollten immer Großbuchstaben verwendet werden.
  1279.  
  1280. Der  Environmentstring, den KOLUMBUS an aufgerufene Programme vererbt
  1281. setzt sich aus drei Teilen zusammen:
  1282.  
  1283. 1.Aus  dem  KOLUMBUSeigenen  Environment  welches  KOLUMBUS als child
  1284. Prozess  von  seinem  Parent vererbt bekommen hat.
  1285.  
  1286. oder aus
  1287. 2.Die Environmentstrings aus dem Environmentfenster.
  1288.  
  1289. Dazu kommen
  1290. 3.Die Environmentstrings aus dem Menupunkt Extra.Environment
  1291.  
  1292. Wer  also  in der glücklichen Lage ist, KOLUMBUS bereits "sein" Envi-
  1293. ronmentstring  beim  Start  unterzujubeln, kann dann auf das Environ-
  1294. mentfenster  ganz  verzichten.  Unter alten TOS-versionen braucht man
  1295. dazu  ein  Environmentsetter-programm. Da MiNT bereits standartmässig
  1296. ein  Environment  zur  Verfügung stellt, ist das Thema in der Zukunft
  1297. wohl  glücklicherweise  ein  für allemal erledigt. Ich habe das Envi-
  1298. ronmentfenster trotzdem noch drin gelassen. Es soll ja noch Leute ge-
  1299. ben, die noch ohne MiNT auskommen.
  1300.  
  1301. Environments  2  und  3  koennen theoretisch (und auch praktisch) vor
  1302. jedem Start eines Programmes verändert werden.
  1303.  
  1304. Beim  Aufruf  der  Projektverwaltung kommt noch ein 4 Teil hinzu: Die
  1305. Kommandozeilenargumente für Compiler und Linker werden nach dem ARGV-
  1306. verfahren übergeben, d.h. unter der Environmentvariablen 'ARGV='.
  1307.  
  1308.  
  1309. 1.6.5.2 Environmentfenster
  1310.  
  1311. Wenn  ein  Environmentfenster geöffnet ist, wird das Globale Environ-
  1312. ment  eines  Environmentsetters  durch  das  Fensterenvironment über-
  1313. schrieben.
  1314.  
  1315. Das Environmentfenster ist folgendermassen aufgebaut:
  1316.  
  1317. Zeile 1: '.envi'
  1318. Zeile 2 bis Zeile n: n-1 Suchpfade.
  1319.  
  1320. Also z.Beispiel so:
  1321.  
  1322. .envi
  1323. TMP=G:\tempo
  1324. TEMP=G:\tempo
  1325. TMPDIR=G:\tempo
  1326. GNULIB=G:\gnu\lib
  1327. GCCEXEC=G:\gnu\bin\gcc-
  1328. GXXINC=G:\gnu\gppincl
  1329. GNUINC=G:\gnu\mnt_include
  1330. UNIXMODE=d/rUcu
  1331. PATH=G:\gnu\bin;G:\bin;G:\mint\bin
  1332.  
  1333. Es sind keine Blanks erlaubt.
  1334.  
  1335.  
  1336. 1.6.5.3 Clipboard path
  1337.  
  1338. Hier wird angegeben unter welchen Pfadname KOLUMBUS das Clipboard
  1339. suchen soll.
  1340.  
  1341. 1.6.5.4 Own Fileselector
  1342.  
  1343. Da  der Standartfileselektor des GEM für Filesysteme mit Casesensiti-
  1344. ven  Dateinamen völlig unbrauchbar ist, ergibt sich die Notwendigkeit
  1345. unter  MiNT  einen  externen Filesektor, der den Standartfileselektor
  1346. ersetzt, oder den KOLUMBUS internen Fileseletor zu benutzen.
  1347.  
  1348. Der  interne  Fileselektor  im KOLUMBUS ist für Anwender gedacht, die
  1349. sich  die 100Kbyte, die ein externer Fileselektor leicht braucht, vom
  1350. Speicherplatz  her  gesehen  nicht leisten können. Er bietet nicht so
  1351. viel  Komfort,  wie  die erhältlichen Sharewareselektoren und deshalb
  1352. auch nur dort aktivierbar wo es nötig ist: Unter MiNT.
  1353.  
  1354. Bedienung:
  1355. Die  Bedienung des internen Fileselektors erfolgt im Prinzip genau so
  1356. wie  die Bedieneung der Fenster des Filemanagers. D.h. es ist möglich
  1357. sowohl  mit  der  Maus, als auch mit der Tastatur sich durch die Ver-
  1358. zeichnisbäume zu bewegen.
  1359.  
  1360. Klick auf ein Laufwerk: Das  Laufwerk  wird eröffnet und ein Treeview
  1361.                         eingelesen.
  1362.  
  1363. Klick auf ein Verzeichnis: Das Verzeichnis wird geöffnet und ein Ver-
  1364.                            zeichnisfenster  mit  allen  Einträgen des
  1365.                            Direktories dargestellt.
  1366.  
  1367. Klick auf eine Datei: Die Datei wird ausgewählt.
  1368.  
  1369. Klick auf "...": Aus  beliebiger  Tiefe  Rücksprung zum Laufwerksfen-
  1370.                  ster.
  1371.  
  1372. Klick auf "..": Eine Stufe zurück in der Verzeichnishierarchie.
  1373.  
  1374. Klick auf ".": Wenn  ein  Verzeichnis ausgewählt werden soll wird das
  1375.                momentan aktuelle Verwendet.
  1376.                Wenn  eine  noch  nicht  existierende Datei ausgewählt
  1377.                werden  soll,  wird  diese  im  aktuellen  Verzeichnis
  1378.                eingerichtet.  Es  folgt  dann  noch ein Dialog um den
  1379.                Dateinamen anzugeben.
  1380.  
  1381.  
  1382. 1.6.6   Info...
  1383.  
  1384. Anzeige folgender Informationen in einem Dialogfenster:
  1385.  
  1386. Informationen über das oberste Fenster:
  1387. Cursorposition (Zeile und Spalte).
  1388. Anzahl der Zeilen.
  1389. Eingabemodus (nicht)Überschreiben
  1390. Datei (nicht)verändert
  1391.  
  1392. Informationen über den Ramspeicher.
  1393. -Duch Kolumbus belegter Speicher
  1394. -Größter freier Speicherblock
  1395.  
  1396. Informationen über das Betriebssystem:
  1397. -Gemversion
  1398. -Tosversion
  1399. -MiNTversion
  1400.  
  1401.  
  1402. 1.6.7   Make
  1403.  
  1404. Unter  diesem  Menüpunkt erscheint ein Dialog, mit dem die Projektver-
  1405. waltung aufgerufen wird. Details zur Projektverwaltung stehen im einem
  1406. eigenen Kapitel.
  1407.  
  1408. Dieser  Menüpunkt ist nur freigeschaltet, wenn eine 'Makedatei' geöff-
  1409. net wurde.
  1410.  
  1411.  
  1412. 1.6.7.1 make
  1413.  
  1414. Diese Funktion startet die Projektverwaltung in der Normalfunktion Die
  1415. Projektverwaltung  prüft  die  in  einem  "Makefenster" spezifizierten
  1416. Abhängigkeiten und führt die erforderlichen Aktionen durch.
  1417.  
  1418.  
  1419. 1.6.7.2 debug only
  1420.  
  1421. Dieses  ist  eine Testfunktionunktion der Projektverwaltung. Es werden
  1422. die Abhängigkeiten geprüft und zusammen mit den erforderlichen Akti-
  1423. onen  in  in  einem  neuen  Fenster angezeigt. Die Aktionen werden nur
  1424. angezeigt  und  nicht  ausgeführt.
  1425.  
  1426.  
  1427. 1.6.7.3 make all
  1428.  
  1429. Es  werden  alle Funktionen durchgefürt unabhängig ob es aus Sicht der
  1430. Projektverwaltung nötig wäre oder nicht.
  1431.  
  1432.  
  1433. 1.6.8   Help
  1434.  
  1435. Dieser  Menüpunkt lädt eine online Helpdatei nur zum Lesen in ein Edi-
  1436. torfenster,  in der alle Menüpunkte aus dem Extramenü noch einmal teil-
  1437. weise  mit Beispielen erklärt werden. Auch die Tastaturkürzel für ein-
  1438. zelne Funktionen sind dort, soweit vorhanden, aufgeführt.
  1439.              Der Filemanager.
  1440.  
  1441. --------------------------------------------------------------------
  1442. 2.        Der Filemanager.
  1443. 2.1       Die Fenstertypen des Filemanagers
  1444. 2.1.1     Das Laufwerksfenster
  1445. 2.1.2     Das Treeviewfenster
  1446. 2.1.3     Das Dateifenster
  1447. 2.1.4     Das Deskfenster
  1448. 2.1.5     Pfadnamen
  1449. 2.1.6     Zusammenfassung
  1450.  
  1451. 2.2       Die Dateifunktionen des Filemanagers.
  1452. 2.2.1     Kopieren
  1453. 2.2.1.1   Behandlung der Verzeichnisse beim Kopieren.
  1454. 2.2.1.2   Kopieroptionen
  1455. 2.2.2     Umbenennen
  1456. 2.2.3     Verschieben
  1457. 2.2.4     Löschen
  1458. 2.2.4.1   LöschOptionen
  1459. 2.2.5     Dateizeit verändern
  1460. 2.2.6     Verzeichnisse einrichten
  1461. 2.2.7     Programme starten
  1462. 2.2.7.1   Dialog zur Eingabe von Kommandozeilenparametern
  1463. 2.2.7.1.1 Cmdline
  1464. 2.2.7.1.2 Cmdline
  1465. 2.2.7.1.3 Temp
  1466. 2.2.7.1.4 Input
  1467. 2.2.7.1.5 Output
  1468.  
  1469. 2.2.8     Der interne Fileselektor
  1470. 2.2.8.1   Bedienung des internen Fileselektorfensters
  1471. --------------------------------------------------------------------
  1472.  
  1473. 2.      Der Filemanager.
  1474.  
  1475. 2.1     Die Fenstertypen des Filemanagers
  1476.  
  1477. Die Kommunikation mit dem Filemanager erfolgt mittels 4 Fenstertypen.
  1478. 1. Das Laufwerksfenster
  1479. 2. Das Treeviewfenster
  1480. 3. Das Dateifenster
  1481. 4. Das Deskfenster
  1482.  
  1483. Mit  den  Fenstertypen  1-3  ist eine Traverse duch die installierten
  1484. Filesysteme möglich.
  1485.  
  1486.  
  1487. 2.1.1   Das Laufwerksfenster
  1488.  
  1489. Über  ein  Laufwerksfenster  erfolgt  der Einstieg das (die) Dateisy-
  1490. stem(e)  des Rechners. Ein Laufwerksfenster ist erkennbar an dem Fen-
  1491. stertitel.  Hiersteht  immer  "U:". Anwender von MiNT wissen, daβ das
  1492. Laufwerk "U:" die Wurzel des "Unified Filesystems" ist von wo aus der
  1493. Zugriff  auf alle Laufwerke/Filesysteme des Rechners möglich ist. Der
  1494. Filemanager  simuliert  rein  optisch auch fuer "nicht MiNT Anwender"
  1495. dieses Laufwerk "U:".
  1496. Es gibt drei Möglichkeiten, ein Laufwerksfenster aufzumachen: Mit der
  1497. Maus  über  die  Menüzeile  Drive.Open,  mit der Tastatur über ^O und
  1498. nochmals mit Maus durch Rechtsklick.
  1499. Im  Innern des Fensters werden nun alle angeschlossenen Laufwerke mit
  1500. ihrem  Laufwerksbuchstaben  bzw.  unter MiNT zusätzlich die Geladenen
  1501. Filesysteme  angezeigt,  pro  Zeile  je  ein Eintrag. Als erste Zeile
  1502. steht immer ein Punkt ".".
  1503. Durch  Mausklick  auf  "."  wird  das Laufwerksfenster neu aufgebaut,
  1504. durch  Mausklick  auf  einen Laufwerksbuchstaben oder dem Namen eines
  1505. Filesystems öffnet sich nun zusätzlich ein Treeviewfenster.
  1506. Das  Laufwerksfenster  ist auch durch die Tastaturfunktionen des Edi-
  1507. tors  bedienbar. Man setzt den Cursor auf die entsprechende Zeile und
  1508. drückt  dann  ◆Return.  Das  Gleiche  gilt auch für die Treeview- und
  1509. Dateifenster.
  1510. Durch Eingabe eines Buchstabens springt der Cursor zum nächsten Lauf-
  1511. werk/ Filesystem, das mit Buchstaben beginnt.
  1512.  
  1513. Hier ein kurzes Beispiel eines Laufwerksfensters unter MiNT:
  1514.  
  1515.    ◆ .
  1516.    ◆ ram
  1517.    ◆ a
  1518.    ◆ b
  1519.    ◆ c
  1520.    ◆ d
  1521.    ◆ e
  1522.    ◆ f
  1523.    ◆ g
  1524.    ◆ r
  1525.    ◆ dev
  1526.    ◆ pipe
  1527.    ◆ proc
  1528.    ◆ shm
  1529.  
  1530. Hier ein kurzes Beispiel eines Laufwerksfensters unter plain TOS:
  1531.  
  1532.    ◆ .
  1533.    ◆ a
  1534.    ◆ b
  1535.    ◆ c
  1536.    ◆ d
  1537.    ◆ e
  1538.    ◆ f
  1539.    ◆ g
  1540.  
  1541.  
  1542. 2.1.2   Das Treeviewfenster
  1543.  
  1544. Der  Titel eines Treeviewfensters ist entweder der Laufwerksbuchstabe
  1545. also  z.B.  "A:",  oder  der  Name  eines  ladbaren  Filesystes, z.B.
  1546. U:\ram\.
  1547. Im  Treeviewfenster  werden  alle  auf dem Laufwerk befindlichen Ver-
  1548. zeichnisse eingerückt entsprechend Stellung in der Verzeichnishierar-
  1549. chie  dargestellt,  je  Zeile  ein Verzeichnis. Als erste Zeile steht
  1550. immer  ein  Verzeichnis  ".",  als Zweite Zeile immer ein Verzeichnis
  1551. "..".
  1552. Durch  Mausklick  auf  das  Verzeichnis "." wird der Treeview neu er-
  1553. stellt.  Durch  Mausklick  auf  das Verzeichnis "..", kehrt der File-
  1554. manger  um eine Hierarchiestufe zurück, d.h. in diesem Fall "Rückkehr
  1555. zum Laufwerksfenster". Durch einen Mausklick auf ein beliebiges ande-
  1556. res  Verzeichnis  aber,  springt  der Filemanger direkt in das in der
  1557. Zeile  angegebene Verzeichnis und Öffnet ein weiteres Fenster, das zu
  1558. diesem Verzeichnis gehöhrende Dateifenster.
  1559. Die  gleiche Aktion wie durch Mausklick kann wiederum über die Tasta-
  1560. tur  durch  Positionieren  des  Editorcursors und drücken von ◆Return
  1561. erreicht werden.
  1562. Wird beim Mausklick die ^-Taste gedrückt gehalten, bzw. statt ◆Return
  1563. ^Return  gedrückt,  so  wird  für das Dateifenster kein neues Fenster
  1564. aufgemacht,  sondern  das  Treeviefenster wird durch das Dateifenster
  1565. ersetzt.
  1566. Durch  Eingabe eines Buchstabens springt der Cursor zum nächsten Ord-
  1567. ner der mit Buchstaben beginnt.
  1568.  
  1569. Hier ein kurzes Beispiel eines Treewviewfensters.
  1570.  
  1571.    ◆ .
  1572.    ◆ ..
  1573.    ◆ gnu
  1574.      ◆ bin
  1575.      ◆ doc
  1576.      ◆ lib
  1577.      ◆ gppincl
  1578.      ◆ yacclex
  1579.      ◆ gnu_include
  1580.        ◆ sys
  1581.      ◆ gnu
  1582.      ◆ sys
  1583.      ◆ mnt_include
  1584.        ◆ sys
  1585.    ◆ mint
  1586.      ◆ m108
  1587.        ◆ purec
  1588.      ◆ m109
  1589.        ◆ purec
  1590.    ◆ bin
  1591.    ◆ mfs
  1592.      ◆ mfs609
  1593.        ◆ docs
  1594.        ◆ fsck
  1595.        ◆ minixfs
  1596.  
  1597.  
  1598. 2.1.3.  Das Dateifenster
  1599.  
  1600. Der  Titel  eines Dateifensters ist immer der komplette Pfadname. Die
  1601. ersten Einträge im Dateifenster sind wieder die Verzeichnisse "." und
  1602. ".." mit der gleichen Bedeutung wie beim Treeviefenster. Als nächstes
  1603. kommen   dann  alle  weiteren  Verzeichnisse,  deren  Wurzel  in  dem
  1604. aktuellen   Verzeichnis  liegen.  Danach  kommen  alle  im  aktuellen
  1605. Verzeichnis sich befindlichen Dateien.
  1606. Durch  Mausklick auf einen Dateinamen passiert nun folgendes: An Hand
  1607. der Extension (TOS,TTP,PRG,APP,GTP) des Dateinamens erkennt KOLUMBUS,
  1608. wenn  die  Datei ein ausführbares Programm enthält. Ist das der Fall,
  1609. wird  diese  Programm  gestartet. Bei den Extensions TTP und GTP kann
  1610. dem  Programm vorher noch über einen Fensterdialog eine Kommandozeile
  1611. übergeben werden.
  1612. Hat  die Datei eine andere oder keine Extension, so lädt KOLUMBUS die
  1613. Datei  in den Editor (ggflls. als Binärdatei, wenn die Datei Nullcha-
  1614. racter enthält).
  1615. Ein Dateifenster kann über den Menuepunkt Extra.Sort sortiert werden.
  1616. Über ein Fensterdialog kann eingestellt werden, nach welchen Attribut
  1617. sortiert  werden  soll:  Als Sortierkriterium stehen Name, Extension,
  1618. Gröβe,  Datum,  Uhrzeit  zur  Auswahl.  Ausserdem kann die Sortierung
  1619. ausgeschaltet  werden.  Die Dateien werden dann entsprechend der Lage
  1620. im Verzeichnis dargestellt.
  1621. Durch  Eingabe eines Buchstabens springt der Cursor zum nächsten Ord-
  1622. ner/ Datei, der/die mit dem Buchstaben beginnt.
  1623.  
  1624. Hier ein kurzes Beispiel für ein Dateifenster:
  1625.  
  1626.    ◆ .
  1627.    ◆ ..
  1628.      readme.60                            3968  1993.11.26  02:43
  1629.      bugs.doc                             1881  1993.11.26  02:43
  1630.      pl8.doc                              3487  1993.11.26  02:43
  1631.      pl9.doc                               479  1993.11.27  18:37
  1632.      fsck.doc                             2063  1993.11.26  02:43
  1633.      pl5.doc                              1811  1993.11.26  02:43
  1634.      mount.doc                            1090  1993.11.27  18:37
  1635.      minit.doc                            6723  1993.11.26  02:43
  1636.      mfsconf.doc                          2317  1993.11.26  02:43
  1637.      minixfs.doc                         11372  1993.11.26  02:43
  1638.          ⇧                                 ⇧
  1639.      Dateiname                        Dateilänge
  1640.  
  1641. Anmerkung: Der Abstand zwischen Dateiname und Dateilänge richtet sich
  1642. nach der maximalen Dateinamenlänge auf dem Laufwerk.
  1643.  
  1644.  
  1645. 2.1.4   Das Deskfenster
  1646.  
  1647. Laufwerk-,   Treeview-  und  Dateifenster  geben  gewissermassen  die
  1648. physikalische  Struktur  der  angeschlossenen  Laufwerke  bzw. einge-
  1649. richtete  Laufwerkpartitionen  und geladenen Filesystemen wieder. Der
  1650. Anwender  hat  deshalb  keine  Möglichkeit, den Inhalt dieser Fenster
  1651. manuell  zu  konfigurieren und somit den eigen Bedürfnissen bzw. ver-
  1652. schiedenen  Projekten anzupassen (von der Sortierung der Dateifenster
  1653. einmal abgewsehen).
  1654. Um  diesem  Abzuhelfen  ist  im KOLUMBUS Filemanager ein vierter Fen-
  1655. stertyp implementiert: Das Deskfenster.
  1656. Ein  Deskfenster  ist  erkennbar an der ersten Zeile: Hier muss immer
  1657. ".desk" stehen. Desweiteren können in einem Deskfenster in beliebiger
  1658. Reihenfolge  noch Leerzeilen, Kommentarzeilen und Zeilen mit komplet-
  1659. ten Pfadnamen stehen.
  1660. Durch  einen  Mausklick  auf einen Pfadnamen passiert nun das Gleiche
  1661. wie bei einem Mausklick auf einen Dateinamen im Dateifenster: An Hand
  1662. der  Extension  entscheidet  KOLUMBUS ob es ein Programm ist, das ge-
  1663. startet,  oder  eine  Datei die in den Editor geladen werden soll. Im
  1664. letzteren  Fall  wird  die  Datei automatisch erzeugt, falls sie noch
  1665. nicht existiert
  1666. Beim  Mausklick auf eine Kommentarzeile oder einer Leerzeile passiert
  1667. nichts.
  1668. Ein  Deskfenster wird mit dem Editor erstellt und als normale Textda-
  1669. tei abgespeichert. Ich verwende immer die Extension ".dsk".
  1670.  
  1671.  
  1672. 2.1.5   Pfadnamen
  1673.  
  1674. Kolumbus  geht  im  Moment  von folgender Maximallänge für Datei- und
  1675. Pfadnamen aus:
  1676.  
  1677. Dateiname: 66 Byte
  1678. Pfad : 256 Byte
  1679. Pfadname : 322 Byte
  1680.  
  1681. Dateinamen  dürfen  aus allen Zeichen ausser dem Leerzeichen (Blank),
  1682. dem '0-Byte' und einem '\' (Backslash) bestehen.
  1683.  
  1684. Kolumbus  geht  davon aus, daß Verzeichnisse im Pfadnamen durch einen
  1685. '\' (Backslash abgetrennt werden.
  1686.  
  1687.  
  1688. 2.1.6   Zusammenfassung
  1689.  
  1690. Über  die drei Fenstertypen Laufwerksfenster, Treeviewfenster, Datei-
  1691. fenster  des  Filemangers  erfolgt  der Zugriff auf Verzeichnisse und
  1692. Dateien.
  1693. Verglichen mit dem Gemdos Desktop bietet das Laufwerksfenster in etwa
  1694. die  Funktionalität  der  Laufwerkicons  (erweitert  um die geladenen
  1695. Filesysteme).  Das  Dateifenster  entspricht  in  etwa dem des Gemdos
  1696. Dateifenster.  Die Funktionalität des Treeviewfenster hingegen bietet
  1697. der Gemdos Desktop nicht.
  1698. Das  Deskfenster  entspricht  in  seiner  Funktionalitaet in etwa dem
  1699. "Ablegen  von Dateien auf dem Desktop". Nur hat man hier die Möglich-
  1700. keit,   ggflls.  auch  mehrere  Deskfenster  zur  gleichen  Zeit  zur
  1701. Verfügung  zu  haben.  Es  gibt nur einen Desktop aber beliebig viele
  1702. Deskfenster.
  1703.  
  1704.  
  1705. 2.2     Die Dateifunktionen des Filemanagers.
  1706.  
  1707. Die Dateifunktionen des Filemanagers sind über die Treeviewfenster
  1708. und Dateifenster erreichbar.
  1709.  
  1710. 2.2.1   Kopieren
  1711.  
  1712. Sowohl Treeviewfenster als auch Dateifenster können Ausgangspunkt und
  1713. Zielpunkt für das Kopieren von Verzeichnissen und Dateien sein. Unter
  1714. MiNT kommt noch das Laufwerksfenster dazu.
  1715. Dateien/Verzeichnisse  werden  ähnlich  kopiert  wie  als wenn man im
  1716. Editor  Zeilen  kopiert.  Man  markiert  einfach die Zeilen im Quell-
  1717. datei/-treeviewfenster mit ^C..^C und drückt dann im Zieldatei/-tree-
  1718. viewfenster ^Insert.
  1719. Wird  als Quelle ein Verzeichnis selektiert, so werden alle in diesem
  1720. Verzeichnis befindlichen Dateien kopiert.
  1721. Erfolgt das ^Insert auf einen Verzeichnisnamen so werden alle Dateien
  1722. in diesen Ordner hineinkopiert.
  1723.  
  1724. Vor  dem  Kopieren  wird ein Dialog geöffnet und folgendes Angezeigt:
  1725. Anzahl  der  zu  kpoierenden  Dateien, Anzahl der zu Kopierenden Ver-
  1726. zeichnisse,  Gesamtlänge  der Dateien unter Berücksichtigung der Clu-
  1727. stergröβe auf dem Ziellaufwerk, und der freie Platz auf dem Ziellauf-
  1728. werk.
  1729. In  diesem  Kopierdialog  lassen sich einige Optionen und die Art und
  1730. Weise, wie Verzeichnisse beim Kopieren behandelt werden einstellen.
  1731.  
  1732.  
  1733. 2.2.1.1 Behandlung der Verzeichnisse beim Kopieren.
  1734.  
  1735. Je nach Wahl der Optionen können die Verzeichnisse wie folgt behan-
  1736. delt werden:
  1737. -Keine Verzeichnisse mitkopieren.
  1738. -Mitkopieren des Verzeichnisses
  1739. -Mitkopieren des des relativen Pfades
  1740. -Mitkopieren des absoluten Pfades
  1741. -Dateien aktualisieren. Nur die Dateien kopieren, die auch auf dem
  1742.  Ziellaufwerk existieren und dort älteren Datums sind.
  1743.  
  1744.  
  1745. 2.2.1.2 Kopieroptionen
  1746. Als Kopieroptionen können angewählt werden:
  1747. -Kein Kopieren, nur Anzeige der zu kopierenden Dateien.
  1748. -Bestätigen vor dem Kopieren einer Datei.
  1749. -Bestätigen vor dem Überschreiben einer Datei.
  1750. -Ein/Ausschalten des Verify-Flags des Gemdos.
  1751.  
  1752.  
  1753. 2.2.2   Umbenennen
  1754.  
  1755. Dateien  können umbenannt werden in einem Dateifenster. Zum Umbenenen
  1756. wird  (werden)  die  Datei  (en) mit ^C..C^ selektiert. Dann wird auf
  1757. einer selektierten Dateien ^Insert gedrückt.
  1758. Zur  Eingabe  des  neuen Namens wird nun nacheinander für jede selek-
  1759. tierte Datei ein Dialog geöffnet.
  1760.  
  1761.  
  1762. 2.2.3   Verschieben
  1763.  
  1764. Zum  Verschieben  von Dateien geht man folgendermaβen vor: Man öffnet
  1765. ein Dateifenster für das Verzeichnis in das die Datei verschoben wer-
  1766. den soll. Danach wird der Menüpunkt Drive.move in der Menüzeile ange-
  1767. wählt.  Es  öffnet sich nun ein Fileselektor, in dem die zu verschie-
  1768. bende Datei ausgewählt wird.
  1769.  
  1770.  
  1771. 2.2.4   Löschen
  1772.  
  1773. Dateien  und  Verzeichnisse  können  in einem Treeviewfenster oder in
  1774. einem Dateifenster gelöscht werden.
  1775. Das  geht  genau  so wie im Editor Zeilen gelöscht werden. Mit ^D..^D
  1776. werden erste und letzte Zeile markiert. Vor dem löschen wird ein Dia-
  1777. log  geöffnet.  Angezeigt werden wie beim Kopieren Anzahl der Dateien
  1778. und  Verzeichnisse, sowie Gesamtlänge der Dateien und der freie Platz
  1779. auf dem Laufwerk.
  1780.  
  1781.  
  1782. 2.2.4.1 LöschOptionen
  1783.  
  1784. Als Löschoptionen können angewählt werden:
  1785. -Nicht löschen, nur Anzeige der zu löschenden Dateien/Verzeichnisse
  1786. -Bestätigen vor dem Löschen
  1787. -Nur Dateien löschen (Verzeichnisse bleiben erhalten).
  1788. -Ein/Ausschalten des Verify-Flags des Gemdos.
  1789.  
  1790.  
  1791. 2.2.5   Dateizeit verändern
  1792.  
  1793. Die  Dateizeit kann in einem Datei- oder Deskfenster auf das aktuelle
  1794. Datum gesetzt werden. Dazu wird der Cursor auf die Datei positioniert
  1795. und  dann  ^t (touch) gedrückt. Das braucht man manchmal für die Pro-
  1796. jektverwaltung.
  1797.  
  1798.  
  1799. 2.2.6   Verzeichnisse einrichten
  1800.  
  1801. Zum  Einrichten  eines  Verzeichnisses öffnet man ein Dateifenster in
  1802. dem das neue Verzeichnis erzeugt werden soll. Dann wird der Menüpunkt
  1803. Drive.Directory  in  der  Menüzeile  ausgewählt.  Es  öffnet sich ein
  1804. Dialog  in  dem  der namen des neuen Verzeichnisses eingegeben werden
  1805. kann.
  1806.  
  1807.  
  1808. 2.2.7   Programme starten
  1809.  
  1810. Ein  Programm wird gestartet, wenn es in einem Fenster des Dateimana-
  1811. gers einfach angeklickt wird.
  1812.  
  1813. An Hand der Dateiextension entscheidet KOLUMBUS, wie das Programm zu
  1814. starten ist:
  1815.  
  1816. .APP,.PRG : Das Programm wird wie ein GEM-Programm gestartet.
  1817. .TOS,.TTP : Das Programm wird wie ein TOS-Programm gestartet. Vor dem
  1818.             Start  können  über  einen  Dialog  noch  Kommandozeilen-
  1819.             parameter  eingegeben  werden. Ausserdem können Standart-
  1820.             -Ein,-Ausg und -Fehlerkanal umgelenkt werden
  1821.  
  1822. .GTP      : Das  Programm wird wie ein GEM-Programm gestartet. Es er-
  1823.             folgt  jedoch vorher ein Dialog zur Eingabe von Kommando-
  1824.             zeilenparameter.
  1825.  
  1826. 2.2.7.1 Dialog zur Eingabe von Kommandozeilenparametern
  1827.  
  1828. Cmdline
  1829. Path
  1830. Temp
  1831. Input.Console
  1832. Input.File
  1833. Output.Console
  1834. Output.FileNew
  1835. Output.FileUpd
  1836. Output.RedirectStderr
  1837.  
  1838.  
  1839. 2.2.7.1.1 Cmdline
  1840.  
  1841. Hier werden die Kommandozeilenparameter eingetragen. Es wird keine
  1842. Expansion von Wildcards vorgenommen.
  1843.  
  1844.  
  1845. 2.2.7.1.2 Cmdline
  1846.  
  1847. Hier wird das Arbeitsverzeichnis für das zu startende Programm ein-
  1848. getragen. Erfolgt hier keine Angabe, so wird als Arbeitsverzeichnis
  1849. das Verzeichnis des zu startenden Programms verwendet.
  1850.  
  1851.  
  1852. 2.2.7.1.3 Temp
  1853.  
  1854. Die Umlenkunk der Ein-Ausgabe erfolgt über Zwischendateien. Hier kann
  1855. festgelegt  werden,  in welchem Verzeichnis diese Zwischendateien an-
  1856. gelegt werden.
  1857. Erfolgt  hier  keine  Angabe,  so  wird  als Tempverzeichnis das Ver-
  1858. zeichnis des zu startenden Programms verwendet.
  1859.  
  1860. 2.2.7.1.4 Input
  1861.  
  1862. Input.Console
  1863. Ratiobutton: Wenn selektiert, erfolgt keine Umlenkung der Eingabe.
  1864.  
  1865. Input.File
  1866. Ratiobutton: Wenn selektiert, wird die Standarteingabe auf eine Datei
  1867.              umgelenkt. Neben dem Button kann jetzt der Dateiname
  1868.              angegeben werden. Ist kein Dateiname angegeben, so wird
  1869.              der Name __stdin angenommen.
  1870.  
  1871.  
  1872. 2.2.7.1.5 Output
  1873.  
  1874. Output.Console
  1875. Ratiobutton: Wenn selektiert, erfolgt keine Umlenkung der Ausgabe.
  1876.  
  1877. Output.FileNew
  1878. Ratiobutton: Wenn selektiert, wird die Standartausgabe auf eine Datei
  1879.              umgelenkt. Neben dem Button kann jetzt der Dateiname
  1880.              angegeben werden. Ist kein Dateiname angegeben, so wird
  1881.              der Name __intemp angenommen.
  1882.              Existiert bereits eine Datei gleichen Namens, so wird
  1883.              diese Überschrieben.
  1884.  
  1885. Output.FileUpd
  1886. Ratiobutton: Wenn selektiert, wird die Standartausgabe auf eine Datei
  1887.              umgelenkt. Neben dem Button kann jetzt der Dateiname
  1888.              angegeben werden. Ist kein Dateiname angegeben, so wird
  1889.              der Name __outemp angenommen.
  1890.              Existiert bereits eine Datei gleichen Namens, so werden
  1891.              die Ausgaben ans Ende der Datei angehängt.
  1892.  
  1893. OutPut.Redirect Stderr
  1894. Ckeckbutton: Wenn selektiert, wird die Standartfehlerausgabe auf eine
  1895.              Datei umgelenkt. Als Dateiname wird der unter FileNew bzw.
  1896.              unter FileUpd verwendete angenommen.
  1897.  
  1898.  
  1899. 2.2.8   Der interne Fileselektor
  1900.  
  1901. Leider  ist die Fileselektorbox des AES auf nachladbaren Filesystemen
  1902. unter  MiNT  in der MiNT-Domain völlig unbrauchbar. Will man z.B. auf
  1903. dem  Minix-XFS  im  Fileselektor  in den Genuss der langen Dateinamen
  1904. kommen, so ist es unerlässlich den AES-Fileselektor zu ersetzen.
  1905.  
  1906. Vorhandene  Replacements des AES-Fileselektor haben den Nachteil, daß
  1907. sie  relativ  viel Speicher benötigen, da können schon mal an die 100
  1908. Kbyte zusammen kommen.
  1909.  
  1910. Da  mein  System  aber  unter chronischen Speichermangel leidet, habe
  1911. ich, um Ram zu sparen, ein internes Fileselektorfenster implementiet.
  1912. Da  praktisch  alle  Funktionen  dafuer  sowieso  schon innerhalb von
  1913. KOLUMBUS   vorhanden  sind,  kostet  das  Ganze  nur  ca.  4,5  Kbyte
  1914. zusätzlich an Speicherverbrauch.
  1915.  
  1916. Der  interne  Fileselektor ist als Selektorfenster implementiert aber
  1917. sehr   einfach  und  leistet  nur  das  nötigste.  Aber  er  ist  das
  1918. abschaltbar  und sowieso nur unter MiNT aktiv. Es braucht also keiner
  1919. auf  seine  gewohnte  Selektorbox verzicheten, soweit sie in der Lage
  1920. ist, in der MiNTdomain von KOLUMBUS zu laufen. Auch darf eine externe
  1921. Selektorbox  die  MinTdomain  von  KOLUMBUS nicht einfach abschalten!
  1922. (das Gleiche gilt auch fuer Accessories unter single TOS).
  1923.  
  1924.  
  1925. 2.2.8.1 Bedienung des internen Fileselektorfensters
  1926.  
  1927. Um  auf  einfache  Weise  zwischen externen und internen Selektor um-
  1928. schalten  zu  können,  ist das Selektorfenster Applikationsmodal. Ist
  1929. demnach  das  Selektorfenster auf, kann keine andere Funktion von KO-
  1930. LUMBUS aufgerufen werden. Funktionen anderer, parallel laufender Pro-
  1931. zesse jedoch sehr wohl.
  1932.  
  1933. Das  Selektorfenster  ist im Prinzip wie ein Treeview- oder Verzeich-
  1934. nisfenster  aufgebaut und wird auch genau gleich bedient. Durch klick
  1935. auf   ein   Dateinamen   wird   diese   Datei   ausgewählt   und  das
  1936. Selektorfenster wird verlassen.
  1937.  
  1938. Durch  Eingabe eines Buchstabens springt der Cursor zum nächsten Ord-
  1939. ner/ Datei, der/die mit dem Buchstaben beginnt.
  1940.  
  1941. Durch  klick  auf  ein  Verzeichnisnamen, gehts eine Stufe tiefer und
  1942. durch klick auf ".." eine Stufe hoeher in der Ordnerhierarchie.
  1943.  
  1944. Durch  klick  auf  "..."  geht  es  aus jeder Tiefe direkt zurück zum
  1945. Laufwerksfenster,  von  wo  auf  ein anderes laufwerk oder Filesystem
  1946. verzweigt werden kann.
  1947.  
  1948. Durch klick auf den Closer wird die Funktion abgebrochen.
  1949.  
  1950. Natuerlich  koennen  alle  diese  Aktionen  auch  durch  die Tastatur
  1951. ausgelößt werden.
  1952.  
  1953.  
  1954. 3         Die Projektverwaltung
  1955. ---------------------------------------------------------------------
  1956.  
  1957. 3.1       Einleitung
  1958. 3.1.1     Wozu eine Projektverwaltung?
  1959. 3.1.2     Wunschtraum: Eine professionelle Projektverwaltung.
  1960. 3.1.3     Die Realität (das Machbare)
  1961.  
  1962. 3.2       Das Makefenster
  1963. 3.2.1     Beispiel für ein Makefenster
  1964. 3.2.1.1   was unbedingt nötig ist
  1965. 3.2.1.2   Auflockern durch Leerzeilen
  1966. 3.2.1.3   Kommentare
  1967. 3.2.1.4   Einbeziehung des obersten Fensters
  1968. 3.2.2.1   Die Syntax
  1969. 3.2.2.2   Auswerten des Returncodes des Compilers.
  1970. 3.2.2.3   Verwendung von Makros
  1971.  
  1972. 3.3       Optionen der Projektverwaltung
  1973. 3.4       Umlenkung der Ausgabe
  1974. 3.5       Hinweise zum Gebrauch des Makeutilities.
  1975. 3.6       Die Projektverwaltung als allgemeiner TTP-Programmstarter
  1976. 3.7       Schlusswort
  1977. ---------------------------------------------------------------------
  1978.  
  1979. 3.1     Einleitung
  1980.  
  1981. Das Makeuitility oder auch Projektverwaltung ist neben dem Editor,
  1982. dem Filemanager dir dritte Säule von KOLUMBUS.
  1983.  
  1984.  
  1985. 3.1.1   Wozu eine Projektverwaltung?
  1986.  
  1987. Einer  der  Vorteile moderner Programmiersprachen ist ja die Möglich-
  1988. keit  der  Modularisierung. Damit ist gemeint die Aufspaltung grosser
  1989. Programmquelltexte  auf  mehrere  Quelltextdateien  (Module) mit klar
  1990. definierten,  voneinander  unabhängigen  Aufgaben.  Alle diese Module
  1991. kommunizieren über wohldefinierten Schnittstellen (Prozeduren, Metho-
  1992. den)  miteinander,  sind  separat  kompilierbar  und  werden erst zum
  1993. Schluss zum eigentlichen Programm zusammengefügt.
  1994. Die Vorteile diese Verfahrens liegen auf der Hand: Kleine unabhängige
  1995. Module sind leichter zu verstehen, schneller zu kompilieren, leichter
  1996. zu warten, mehrfach verwendbar.
  1997. Auf der anderen Seite: Kein Vorteil ohne Nachteil. Ändert sich in ir-
  1998. gendeinem Modul eine Schnittstelle, so müssen genau die Module neu ü-
  1999. bersetzt  werden,  die diese Schnittstelle benutzen. Nach jeder Ände-
  2000. rung  muss  sich der Entwickler also fragen: Welche Module müssen neu
  2001. übersetzt  werden? Das ist lästig und schlimmer noch: fehleranfällig.
  2002. Mit  der Anzahl der Module steigt auch die Gefahr, das dabei etwas ü-
  2003. bersehen wird (vergessen wird ein Modul neu zu kompilieren.
  2004. Es  schadet  natürlich  nicht, bei jeder Schnittstellenänderung immer
  2005. alle Module des Projektes neu zu übersetzen, aber das ist lästig weil
  2006. es kostet mehr Zeit als eigentlich nötig wäre.
  2007.  
  2008. Die  Antwort  auf  diese Problem ist eine Projektverwaltung. Sinn und
  2009. Zweck  des  Projektverwaltung  ist es, den Softwareentwickler bei den
  2010. formalen Tätigkeiten bezüglich Compiler- und Linkeraufruf so weit wie
  2011. möglich zu entlasten und diesen Vorgang zu automatisieren, den
  2012. Komfort zu erhöhen.
  2013.  
  2014.  
  2015. 3.1.2   Wunschtraum: Eine professionelle Projektverwaltung.
  2016.  
  2017. Woher weiss nun aber die Projektverwaltung, welche Module bei einer
  2018. bestimmten Änderung neu übersetzt werden müssen?
  2019.  
  2020. Ausgangsbasis  für eine professionelle Projektverwaltung ist eine Art
  2021. "Datenbank"  in der genau vermerkt ist, welches Modul welche Prozedur
  2022. ruft  bzw.  welches  Modul welche Datenstrukturen aus anderen Modulen
  2023. benutzt.  So eine eine "Datenbank" wird in der Regel durch ein spezi-
  2024. elles Programm durch Analyse der Quelltexte automatisch erstellt.
  2025.  
  2026. Vor jedem Übersetzungsvorgang schaut also jetzt die Projektverwaltung
  2027. in ihrer Datenbank nach, sucht sich die Änderungen heraus, und stellt
  2028. eine  Liste  der  zu  übersetzenden Quelltextmodule zusammen und ruft
  2029. dann  fuer  jede zu übersetzende Quelltextmodul den Compiler auf. Au-
  2030. sserdem  wird  bei dieser Gelenheit die Datenbank aktualisiert, damit
  2031. sie beim nächsten Produktionsvorgang wieder auf aktuellem Stand ist.
  2032.  
  2033. Zwar  wäre  es schön, so ein Supertool auch für die Atari Rechner zur
  2034. Verfügung  zu  haben,  aber  es ist wohl klar, dass der Aufwand dafür
  2035. immens ist. Ausserdem ist so ein Tool auf jeden Fall abhängig von der
  2036. Programmiersprache, da es ja die Quelltexte analysieren muss.
  2037.  
  2038.  
  2039. 3.1.3   Die Realität (das Machbare)
  2040.  
  2041. Beschränkt  man sich auf einfache Abhängigkeiten wie "ModulA ruft Mo-
  2042. dulB",  oder besser noch "DateiA ist Abhängig von DateiB", verzichtet
  2043. man  also  darauf,  jede Änderung im Detail zu erfassen, kommt man zu
  2044. einem  Ansatz,  der  schon mit relativ einfachen Mitteln realisierbar
  2045. ist.  Denn  jetzt  ist  es  nicht mehr nötig vor dem Compilieren, die
  2046. Quelltexte  nach  Änderungen  zu  durchforsten, sondern es genügt die
  2047. Dateizeit zu vergleichen. Und immer dann, wenn DateiB jüngeren Datums
  2048. ist,  gelten  alle  in DateiB enthaltenen Schnittstellen als geändert
  2049. und DateiA und alle anderen die ebenfalls DateiB aufrufen, müssen neu
  2050. übersetzt werden.
  2051.  
  2052. Was  jetzt  noch  benötigt wird ist eine Möglichkeit, der Projektver-
  2053. waltung eine Liste von Dateiabhängigkeiten zu übergeben, und ihr mit-
  2054. zuteilen,  wie die Dateien übersetzt werden und zum Schluss zusammen-
  2055. gebunden  werden  (Compiler- Compilerschalter, Linker- Linkerschalter
  2056. etc.).
  2057.  
  2058. Die  bekannteste  Projektverwaltung, die nach diesem Prinzip funktio-
  2059. niert, ist wohl das Unixprogramm "MAKE". Dieses Programm erwartet die
  2060. Abhängigkeiten zwischen den Dateien standartmässig in der Datei
  2061. namens "makefile".
  2062.  
  2063. Wegen  dem  Bekanntheitsgrad und der Universalität von MAKE, habe ich
  2064. die  Projektverwaltung  von  KOLUMBUS,  der  Arbeitsweise vom "groβen
  2065. Vorbild" MAKE angeglichen.
  2066.  
  2067. Zwar ist die Projektverwaltung von KOLUMBUS nicht so mächtig wie MAKE
  2068. ist  aber  durchaus  auch  in  der  Lage Projekte mit 20-30 Module zu
  2069. verwalten.  Auch  ist  die Syntax des KOLUMBUS-Makefiles strenger als
  2070. die  von  MAKE,  jedoch  so ähnlich, daβ ein Kenner von MAKE aber auf
  2071. Anhieb ein KOLUMBUS makefile verstehen wird.
  2072.  
  2073. Wer Make noch nicht kennt, sollte sich die Mühe machen ,die folgenden
  2074. Abschnitte  intensiv durchzulesen. Mit diesem Wissen lassen sich dann
  2075. auch einfache Makefiles für das GNU-Make interpretieren.
  2076.  
  2077.  
  2078. 3.2     Das Makefenster
  2079.  
  2080. An Stelle der "makedatei" tritt in der KOLUMBUS Projektverwaltung ein
  2081. Makedefinitionsfenster oder kurz Makefenster.
  2082.  
  2083. Die Projektverwaltung von KOLUMBUS läβt sich nur aufrufen, wenn so
  2084. ein Makefenster geöffnet ist.
  2085.  
  2086. Im makefenster werden folgende Informationen abgelegt:
  2087.  
  2088. - die Namen der Sourcedateien,
  2089. - die Abhängigkeiten zwischen den Sourcedateien,
  2090. - wo diese Dateien zu finden sind,
  2091. - wo Compiler und Linker zu finden sind,
  2092. - wie Compiler und Linker aufzurufen sind.
  2093. - die Namen der übersetzten Sourcedateien
  2094. - den Namen des fertigen Programms
  2095.  
  2096.  
  2097. 3.2.1   Beispiel für ein Makefenster
  2098.  
  2099. Nehmen  wir  an,  wir  hätten  eine  Version des legendären Programms
  2100. "Hello"  erstellt und wollen es übersetzen. Die fertige Programm soll
  2101. "hello.prg"  heißen.  Die  Sourcedatei  heisse 'hello.c' und stehe im
  2102. Verzeichnis  C:\SRC. Compiler/Linker stehen im Verzeichnis C:\BIN und
  2103. heissen  CC.TTP bzw. LL.TTP. Zur Ausgabe auf den Bildschirm benötigen
  2104. wir  dir Quelldatei stdio.h ( hello.c wird abhängig von stdio.h), die
  2105. Displayfunktionen befinden sich in der Objectbibliothek
  2106. C:\LIB\stdlib.lib, der Startupcode des Compilers stehe in
  2107. C:\LIB\start.o.
  2108.  
  2109.  
  2110. 3.2.1.1 was unbedingt nötig ist
  2111.  
  2112. Diesen ganzen Tatbestand spezifizieren wir kurz und bündig wie folgt:
  2113.  
  2114. .make                                            zeile 1
  2115. .srcpath=C:\SRC                                  zeile 2
  2116. .binpath=C:\BIN                                  zeile 3
  2117. hello.prg: hello.o                               zeile 4
  2118.    LL.TTP start.o hello.o C:\LIB\stdlib.lib      zeile 5
  2119.                                                  zeile 6
  2120. hello.o: hello.c stdio.h                         zeile 7
  2121.    CC.TTP hello.c                                zeile 8
  2122.  
  2123.  
  2124. 3.2.1.2 Auflockern durch Leerzeilen
  2125.  
  2126. Wir können das Ganze auch optisch etwas auflockern:
  2127.  
  2128. .make                                            zeile 1
  2129.  
  2130. .srcpath=C:\SRC                                  zeile 2
  2131. .binpath=C:\BIN                                  zeile 3
  2132.  
  2133. hello.prg: hello.o                               zeile 4
  2134.    LL.TTP start.o hello.o C:\LIB\stdlib.lib      zeile 5
  2135.                                                  zeile 6
  2136. hello.o: hello.c stdio.h                         zeile 7
  2137.    CC.TTP hello.c                                zeile 8
  2138.  
  2139.  
  2140. 3.2.1.3 Kommentare
  2141.  
  2142. Und/oder auch noch mit verwirrenden Kommentaren versehen (damit es
  2143. nicht gleich jeder versteht):
  2144.  
  2145. .make                                                      zeile 1
  2146. # beispiel einer make definitionsdatei
  2147. #
  2148. .srcpath=C:\SRC                                            zeile 2
  2149. .binpath=C:\BIN                                            zeile 3
  2150.  
  2151. hello.prg: hello.o                                         zeile 4
  2152.    LL.TTP start.o hello.o hello.prg C:\LIB\stdlib.lib      zeile 5
  2153.                                                            zeile 6
  2154. hello.o: hello.c stdio.h                                   zeile 7
  2155.    CC.TTP hello.c                                          zeile 8
  2156.  
  2157.  
  2158. 3.2.1.4 Einbeziehung des obersten Fensters
  2159.  
  2160. oder um das CHAOS perfekt zu machen :
  2161.  
  2162. .make                                                      zeile 1
  2163. # beispiel einer make definitionsdatei
  2164. #
  2165. .srcpath=C:\SRC                                            zeile 2
  2166. .binpath=C:\BIN                                            zeile 3
  2167.  
  2168. $(*).prg: $(*).o                                           zeile 4
  2169.    LL.TTP start.o $(*).o $(*).prg C:\LIB\stdlib.lib        zeile 5
  2170.                                                            zeile 6
  2171. $(*).o: $(*).c stdio.h                                     zeile 7
  2172.    CC.TTP $(*).c                                           zeile 8
  2173.  
  2174. In diesem letzten Fall wird der Name der Sourcedatei durch einen $(*)
  2175. ersetzt.   Der  '$(*)'  wird  vor  der  Abarbeitung  der  Anweisungen
  2176. automatisch  durch  den  Namen des obersten Fensters (ohne Extension)
  2177. ersetzt.  $(*)  ist  ein  Standartmakro.  Siehe Abschnitt über makros
  2178. weiter unten.
  2179.  
  2180.  
  2181. 3.2.2.1 Die Syntax
  2182.  
  2183. Im letzten beispiel bedeuten bzw. gehören zur Syntax:
  2184.  
  2185. '.make'     : Kennzeichnung eines Make-Definitionsfensters (1). Diese
  2186.               Anweisung  muß  immer  in  der ersten Spalte der ersten
  2187.               Zeile im Fenster beginnen.
  2188. '#'         : Einleitung einer Kommentarzeile, Kommentarzeilen dürfen
  2189.               nur an dieser Stelle (zwischen 1 und 2) stehen.
  2190. .srcpath    : Zugriffspfad der Sourcemodule (2).
  2191. .binpath    : Zugriffspfad von Compiler,Linker und was es sonst noch
  2192.               an Programmen benötigt wird ( z.B. YACC,LEX,.. ) (3).
  2193.  
  2194. ':'         : links  davon steht die zu erzeugende Datei (output oder
  2195.               Zieldatei), rechts  davon  aus  welchen  Dateien  diese
  2196.               erzeugt  wird  (input,Quelldateien ) (4,7). Diese Zeile
  2197.               wird in die nächste Zeile(n) verlängert wenn das letzte
  2198.               zeichen  ein  '\' (backslash) ist. Der ':' ist zu lesen
  2199.               als 'ist abhängig von'. Eine Zeile der Form
  2200.               Zieldatei: Quelldateie(n)
  2201.               wird auch als Abhängigkeitszeile bezeichnet.
  2202. leerzeile 6 : gehört ebenfalls zur Syntax.
  2203. zeilen 5,8  : Kommandozeilenaufruf des Linkers und Compilers. Auch
  2204.               diese kann durch '\' in die nächste Zeile(n) verlängert
  2205.               werden, insgesamt aber nur bis 127 Zeichen. Die Zeilen
  2206.               5,8 werden auch als Aktionszeilen bezeichnet.
  2207.  
  2208. Die Zeilen 4,7 spezifizieren hier also die Abhängigkeiten, die Zeilen
  2209. 5,8  spezifizieren hier im Beispiel die Aktionen. Um korrekt arbeiten
  2210. zu  können,  muß  auf  eine Abhängigkeitszeile immer eine Aktionzeile
  2211. kommen.  Abhängigkeitszeile  und  Aktionzeile  zusammen nenne ich mal
  2212. 'Anweisungsblock'.  Zwischen  zwei  Anweisungsblöcken  muß immer eine
  2213. Leerzeile stehen.
  2214.  
  2215. Alles was hinter LL.TTP bzw. CC.TTP steht gehört nicht zur Syntax von
  2216. Make sondern zu Aufrufsyntax des Compilers bzw. Linkers.
  2217.  
  2218. Unser  Makefenster  ist  jetzt fertig. Make ist jetzt in der Lage das
  2219. Programm  "hello.prg"  durch  Aufruf  des  Compilers  und des Linkers
  2220. selbsttätig  herzustellen.  Der  Aufruf  des Makeutilities erfolgt im
  2221. Menupunkt Extra.make oder gleich mit ◆M.
  2222.  
  2223. Das  besondere  an  Make  ist  ja , daß es immer nur die Dateien neu
  2224. übersetzt  ,  die  sich  seit der letzten Erstellung verändert haben.
  2225. Maßgeblich dafür ist die Dateizeit.
  2226.     -  Es ist also wichtig immer die korrekte
  2227.     -  Zeit eingestellt zu haben.
  2228.  
  2229. Im  vorliegenden Fall wird der Linker genau dann aufgerufen, wenn die
  2230. Datei  "hello.o"  jüngeren Datums ist als die Datei "hello.prg", oder
  2231. aber wenn "hello.prg" noch gar nicht existiert.
  2232.  
  2233. Der  Compiler  hingegen  wird  genau  dann  gerufen,  wenn  die Datei
  2234. "hello.c"  jüngeren  Datums  ist  als  die Datei "hello.o", oder wenn
  2235. "hello.o"  noch  gar nicht existiert. Der Compilerlauf hätte wiederum
  2236. zur  Folge,  daß  "hello.o"  ein jüngeres Datum als hello.prg bekäme.
  2237. Folglich  erfolgte  dann hinterher völlig automatisch auch der Aufruf
  2238. des Linkers.
  2239.  
  2240.  
  2241. 3.2.2.2 Auswerten des Returncodes des Compilers.
  2242.  
  2243. Was  aber  wenn  beim Compilieren von hello.c Fehler entstehen ? Dann
  2244. wäre  der anschließende Aufruf des Linkers unnützt! Aber keine Angst,
  2245. jeder  Compiler, der  was auf sich hält, liefert in so einem Fall ein
  2246. Returncode  >  0 an den Aufrufer ( hier KOLUMBUS/Make) zurück. Dieser
  2247. Return code wird natürlich ausgewertet. Ein Returncode > 0 führt
  2248. zum  Abbruch  des  Produktionsvorganges - der Linker würde dann nicht
  2249. mehr gestartet... es sei denn man schriebe folgendes in zeile 8:
  2250.  
  2251. .make                                            zeile 1
  2252. .srcpath=C:\SRC                                  zeile 2
  2253. .binpath=C:\BIN                                  zeile 3
  2254.  
  2255. hello.prg: hello.o                               zeile 4
  2256.    LL.TTP start.o hello.o C:\LIB\stdlib.lib      zeile 5
  2257.                                                  zeile 6
  2258. hello.o: hello.c stdio.h                         zeile 7
  2259.    -i2 CC.TTP hello.c                            zeile 8
  2260.  
  2261.  
  2262. In  diesem  Fall  macht  KOLUMBUS/Make  auch  dann  weiter,  wenn ein
  2263. Returncode  =  1  rückgegeben wird. Manche Compiler liefern die 1 bei
  2264. aufgetretenen Warnings zurück und bei einem Fehler den Returncode 2.
  2265.  
  2266. Die  Zahl  nach  dem  -i gibt an welcher Returncode gerade nicht mehr
  2267. akzeptiert  wird. Die Zahl 0 nach dem i hat allerdings eine besondere
  2268. Bedeutung:   Eine   so   gekennzeichnete  Aktionszeile  wird  niemals
  2269. ausgeführt ( auch das braucht man manchmal).
  2270.  
  2271.  
  2272. 3.2.2.3 Verwendung von Makros
  2273.  
  2274. Durch die Verwendung von Makros kann sich eine Erhebliche Schreiber-
  2275. sparnis ergeben.
  2276.  
  2277. Ein Makro wird definiert durch die Anweisung
  2278.  
  2279. .<name> = <text>
  2280.  
  2281. Der Aufruf diese Makros erfolt durch
  2282.  
  2283.    $(<name>)
  2284.  
  2285. Man könnte das letzte Beispiel auch folgendermaßen unter verwendung von Makros
  2286. Makros schreiben:
  2287.  
  2288. .make                                             zeile 1
  2289. .srcpath = C:\SRC                                 zeile 2
  2290. .binpath = C:\BIN                                 zeile 3
  2291. .ll      = LL.TTP                                 zeile 3a
  2292. .cc      = CC.TTP                                 zeile 3b
  2293.  
  2294. hello.prg: hello.o                                zeile 4
  2295.    $(ll) start.o hello.o C:\LIB\stdlib.lib        zeile 5
  2296.                                                   zeile 6
  2297. hello.o: hello.c stdio.h                          zeile 7
  2298.    -i2 $(cc) hello.c                              zeile 8
  2299.  
  2300. Als weiteres Anschauungsmaterial habe ich eine Datei m109gcc.mak
  2301. beigelegt. Dort werden alle features der internen Projektverwaltung
  2302. (u.a. auch mehrstufige Abhaengigkeiten) angewendet. Mit dieser
  2303. makedatei habe ich mir MiNT.V109 übersetzt.
  2304. In der Datei m109gcc.pro befindet sich ein Protokoll des Überset-
  2305. zungslaufs. Wie man sieht hat das Ganze auf meinem 16MHz-ST 40
  2306. Minuten gedauert (Gaehn):
  2307.  
  2308.  
  2309. 3.3     Optionen der Projektverwaltung
  2310.  
  2311. Insbesondere  bei komplizierteren Makedateien wie das Beispiel in der
  2312. Datei  yacclex.mak  empfielt  es  sich  die makedatei zunächst mal zu
  2313. testen,  ohne  gleich  Compiler und Linker aufzurufen. Der Testaufruf
  2314. erfolgt mit Shf/◆M oder dem Menüpunkt extra.make.debugonly.
  2315.  
  2316.  
  2317. Riefen wir die Debugfunktion für die oben beschriebene Makedatei auf,
  2318. so käme folgendes dabei heraus:
  2319.  
  2320. dependancies :
  2321. hello.c       00-00-80 00:00:00 (  )
  2322. hello.o       00-00-80 00:00:00 ( hello.c, stdio.h,  )
  2323.    : CC.TTP hello.c
  2324. hello.prg     00-00-80 00:00:00 ( hello.o,  )
  2325.    : LL.TTP start.o hello.o C:\LIB\stdlib.lib
  2326. stdio.h       00-00-80 00:00:00 (  )
  2327. actions :
  2328. CC.TTP hello.c
  2329. LL.TTP start.o hello.o C:\LIB\stdlib.lib
  2330.  
  2331. KOLUMBUS/Make  ermittelt  die Abhängigkeieten und die Dateizeiten der
  2332. Sourcedateien   und   Zwischendateien   und   stellt   sie  in  einem
  2333. MESSAGE-Fenster  dar.  Hinter  jeder  Sourcedatei stehen dabei zuerst
  2334. Datum  und  Uhrzeit  der  letzten  Veränderung, danach in Klamern die
  2335. Dateien von dem die Sourcedatei abhängig ist. Im obigen Beispiel sind
  2336. die  Sourcedateien  allesamt  nicht vorhanden, daher die Initialwerte
  2337. von Datum/Uhrzeit. Zum Schluß noch die aktuell nötigen Aktionszeilen,
  2338. um das gewünschte Programm zu erzeugen.
  2339.  
  2340. Ist  noch  ein Fehler in der Makedatei, kann man es an dieser Anzeige
  2341. in  der  Regel  bereits erkennen. Kommen die actions in der richtigen
  2342. Reihenfolge  so  ist  die  Makedatei  in der Regel ebenfalls korrekt.
  2343. Desweiteren  sollte  man  sorgfältig  prüfen,  ob  die Abhängigkeiten
  2344. richtig  erkannt  wurden. Wenn nicht befindet sich der Makedatei noch
  2345. ein Syntaxfehler.
  2346.  
  2347.  
  2348.  
  2349. 3.4     Umlenkung der Ausgabe
  2350. -------------------------------------------------
  2351.  
  2352. Normalerweise   lenkt   KOLUMBUS/Make   die  Ausgabe  in  eine  Datei
  2353. "__OUTEMP"  um  und  ließt diese zum Schluß in ein Fenster ein, sodaß
  2354. Fehlermeldungen  des Compilers nicht verloren gehen. Die gewohnte GEM
  2355. Umgebung wird dabei nicht verlassen.
  2356.  
  2357. Manchmal läßt sich jedoch die Ausgabe nicht umlenken ( wenn z.B. BIOS
  2358. Funktionen  zur  Ausgabe  verwendet  werden). Die Folge ist dann eine
  2359. häßliches  Zerstörung der GEM-Oberfläche. Um das zu vermeiden kann in
  2360. der  Makedatei  ein  TOS  Flag  gesetzt  werden.  Unser  bereits  arg
  2361. strapaziertes Beispiel sieht damit dann folgendermaßen aus:
  2362.  
  2363. .make                                            zeile 1
  2364. # beispiel einer make definitionsdatei
  2365. #
  2366. .tos                                             zeile 1a
  2367. .srcpath=C:\SRC                                  zeile 2
  2368. .binpath=C:\BIN                                  zeile 3
  2369. hello.prg: hello.o                               zeile 4
  2370.    LL.TTP start.o hello.o C:\LIB\stdlib.lib      zeile 5
  2371.                                                  zeile 6
  2372. hello.o: hello.c stdio.h                         zeile 7
  2373.    CC.TTP hello.c                                zeile 8
  2374.  
  2375.  
  2376. 3.5     Hinweise zum Gebrauch des Makeutilities.
  2377.  
  2378. Bevor  KOLUMBUS/Make  seine  Aktionen  durchführt,  speichert es alle
  2379. veränderten  Fenster  ab.  Es  ist  daher  nicht nötig eine geänderte
  2380. Quellcodedatei vorher selbst abzuspeichern.
  2381.  
  2382. Es  können auch mehrere Makefenster offen sein. KOLUMBUS/Make verwen-
  2383. det jedoch immer das erste gefundene.
  2384.  
  2385. Durch  einen  kleinen Trick kann nach dem Linken das fertige Programm
  2386. auch gleich gestartet werden oder in ein Debugger geladen werden:
  2387.  
  2388. .make                                            zeile 1
  2389. # beispiel einer make definitionsdatei
  2390. #
  2391. .tos                                             zeile 1a
  2392. .srcpath=C:\SRC                                  zeile 2
  2393. .binpath=C:\BIN                                  zeile 3
  2394.  
  2395. wum: hello.prg                                   zeile 3a
  2396.    DEBUG.TTP hello.prg                           zeile 3b
  2397.  
  2398. hello.prg: hello.o                               zeile 4
  2399.    LL.TTP start.o hello.o C:\LIB\stdlib.lib      zeile 5
  2400.                                                  zeile 6
  2401. hello.o: hello.c stdio.h                         zeile 7
  2402.    CC.TTP hello.c                                zeile 8
  2403.  
  2404.  
  2405. Durch Zeile 3a/3b gaukeln wir KOLUMBUS/Make die Zieldatei "wum" vor.
  2406. Dadurch wird, weil diese Datei durch hello.prg niemals erzeugt wird,
  2407. im  Anschluß an einem erfolgreichen Lauf des Linkers immer DEBUG.TTP
  2408. gestartet.  Da  es  keinen  Sinn macht, den Debugger bei umgelenkter
  2409. Ausgabe  zu  starten wird außerdem in Zeile 1a das tos flag gesetzt.
  2410. Ein  praktisches  Beispiel, so wie ich es verwende, befindet sich in
  2411. der Datei "gnudebug.mak" auf der KOLUMBUS Diskette.
  2412.  
  2413.  
  2414. 3.6     Die Projektverwaltung als allgemeiner TTP-Programmstarter
  2415.  
  2416. Im letzten Abschnitt klang es schon an: Durch Vorgabe einer fiktiven
  2417. zu erzeugenden Datei, kann die Projektverwaltung dazu bewegt werden,
  2418. beliebige TOS/TTP Programme zu starten.
  2419.  
  2420. Falls  man  sich nicht gleich eine Shell schreibt, lohnt es sich mit-
  2421. unter  für  heufig  gebrauchte  TOS/TTP  Programme  eine Makedatei zu
  2422. schreiben.  Mit  der  Verwendung von Makros und der Möglichkeit Stan-
  2423. dartpfade  zu setzen, bieten sich recht komfortable Möglichkeiten des
  2424. Aufrufs dieser TTP/TOS Programme. Ausserdem kann man sich mit Kommen-
  2425. tarzeilen die Programmschalter immer Vergegenwärtig halten.
  2426.  
  2427. Hier  als Anregung eine  Makedatei, wie ich sie häufig für den ZOO-Ar-
  2428. chiver benutze:
  2429.  
  2430. .make
  2431. #Usage: zoo {acDeglLPTuUvx}[aAcCdEfInmMNoOpPqu1:/.@n] archive file
  2432. #("zoo h" for help, "zoo H" for extended help)
  2433. # Commands in {} mean:         |Modifiers in [] mean:
  2434. #  a     add files             | a     show archive name(s) in listing
  2435. #  c     update comments       | A     apply g or c to archive
  2436. #  D     delete stored files   | c     add/list comments
  2437. #  e,x   extract files         | d     extract/list deleted files too
  2438. #  g     adj. gen. limit/count | dd    extract/list only deleted files
  2439. #  l,L,v,V list filenames      | E     erase backup after packing
  2440. #  P     pack archive          | f     fast add (no compression) or list
  2441. #  T     fix archive datestamp | M     move when adding (erase original)
  2442. #  u     add only newer files  | n     add only files not already in archive
  2443. #  U     undelete stored files | N     send extracted data to Nowhere
  2444. # -----------------------------  O     don't ask "Overwrite?"
  2445. #  q     be quiet                p     pipe extracted data to standard output
  2446. #  :     don't store dir names   /,//  extract full pathnames
  2447. #  .     pack to current dir     I     add filenames read from stdin
  2448. #  C     show file CRC value     +/-   enable/disable generations
  2449. #  S     overwrite newer files   g     list generation limits
  2450. #  P     pack after adding       @n    start extract/list at position n
  2451. #  m     list file modes         OO    overwrite read-only files
  2452. #  C     change archive cmnt     h     use high-compression method
  2453.  
  2454. .srcpath = G:\mintlib
  2455. .binpath = G:\bin
  2456. .COM     = x
  2457. .OPT     =
  2458. .ARCHIVE = mntinc39
  2459.  
  2460. all:    G:\bin\zoo.ttp
  2461.    zoo.ttp $(COM) $(OPT) $(ARCHIVE)
  2462.  
  2463.  
  2464. 3.7     Schlusswort
  2465.  
  2466. Ich hoffe nun, mit dieser kurzen Einführung alle Klarheiten bezüglich
  2467. KOLUMBUS/Make beseitigt zu haben.
  2468.  
  2469.  
  2470. 4       Textformatierung
  2471. ---------------------------------------------------------------------
  2472.  
  2473. 4.1       Textformatierung
  2474. 4.1.1     Übersicht:
  2475. 4.1.2     Ablauf
  2476.  
  2477. 4.2.1     Formatierung
  2478. 4.2.1.1   Steuerung der Formatierung
  2479. 4.2.2     Word wrapping
  2480.  
  2481. 4.3       Steuerzeichen für die Textformatierung
  2482. 4.3.1     Übersicht
  2483. 4.3.2     Pseudotrener
  2484. 4.3.3     (harter) Zeilenumbruch
  2485. 4.3.4     Pseudoblank
  2486. 4.3.5     Die Horizontalmarke
  2487. 4.3.6     Formatfreier Paragraph
  2488.  
  2489. 4.4       Export,Ausgabe des formatierten Textes:
  2490. ---------------------------------------------------------------------
  2491.  
  2492. 4.1     Textformatierung
  2493.  
  2494. 4.1.1   Übersicht:
  2495.  
  2496. Die  Textformatierung  ist für den "Hausgebrauch" konzipiert. Sie soll
  2497. und kann keine professionelle Textverarbeitung ersetzen.
  2498.  
  2499. -Die Textformatierung bietet folgende Leistungsmerkmale:
  2500.  
  2501.   - Word wrapping am Fensterrand
  2502.   - Randausgleich
  2503.   - Halbautomatische Silbentrennung
  2504.   - Pseudoblanks
  2505.   - Horizontalmarke
  2506.   - Harter Zeilenumbruch
  2507.   - Formatfreier Paragraph.
  2508.  
  2509.  
  2510. 4.1.2   Ablauf
  2511.  
  2512. Die Erstellung eines formatierten  Textes erfolgt in drei Schritten:
  2513.  
  2514. 1.Schreiben des Quelltextes mit allen Steuer- und Formatierzeichen
  2515. 2.Textformatierung
  2516. 3.Export des formatierten Textes in eine Datei, in ein Fenster oder
  2517.   direkt auf den Drucker.
  2518.  
  2519.  
  2520. 4.2.1   Formatierung
  2521.  
  2522. Der  Textformatierung erfogt mit ^j .. ^j. Erste und letzte zu forma-
  2523. tierende  Zeile  werden jeweils mit ^j markiert. Bei der Formatierung
  2524. werden  alle  Steuerzeichen beachtet: Pseudotrenner, harter Zeilenum-
  2525. bruch, Pseudoblank, Horizontalmarke, und Formatfreier Paragraph.
  2526.  
  2527. Beim  Formatiervorgang  mit Randausgleich versucht KOLUMBUS möglichst
  2528. viel  in  eine  Zeile  hineinzubekommen. Das gelingt um so besser, je
  2529. mehr  Pseudotrennzeichen verwendet wurden. Es ist daher günstig lange
  2530. Wörter mit möglichst viel Pseudosilbentrennzeichen zu versehen.
  2531.  
  2532. Der  Randausgleich selbst erfolgt bei der Formatierung durch Einfügen
  2533. von  Leerzeichen  zwischen  den  Wörtern.  Dabei  wird von links nach
  2534. rechts vorgegengen.
  2535.  
  2536. Die Formatierung erfogt Absatzweise, daβ heiβt Absätze, die durch ei-
  2537. ne Leerzeile getrennt sind werden nicht zusammengefügt.
  2538.  
  2539. Hinweis:Während  der Formatierung ist der zu formatierende Text kurz-
  2540. zeitig  doppelt  im Speicher. Ich empfehle daher (nicht nur bei Spei-
  2541. chermangel) eine Absatzweise Formatierung.
  2542.  
  2543.  
  2544. 4.2.1.1 Steuerung der Formatierung
  2545.  
  2546. Neben den Steuerzeichen lässt sich durch die erste zu formatierende
  2547. Zeile der Formatiervorgang beeinflussen:
  2548.  
  2549. Ist  die erste Zeile eine Leerzeile, so werden als linker und rechter
  2550. Rand die erste Spalte und die letzte Spalte des rechten Fensterrandes
  2551. verwendet.
  2552.  
  2553. Ist  die  erste Zeile keine Leerzeile, so wird als linker und rechter
  2554. Rand die erste und letzte Spalte der ersten Zeile verwendet.
  2555.  
  2556. Anmerkung:  Für  einen  sinnvollen  Randausgleich  sind mindestens 30
  2557. Spalten  nötig.  Ich habe den Randausgleich auf diesen Wert begrenzt.
  2558. Empfehlenswert sind aus meiner Sicht jedoch mindestens 40 Spalten.
  2559.  
  2560.  
  2561. 4.2.2   Word wrapping
  2562.  
  2563. Word  wrapping oder auch 'automatischer Zeilenumbruch' wird durch den
  2564. Menüpunkt Edit.Wordwrapping eingeschaltet.
  2565.  
  2566. Der  Zeilenumbruch  erfolgt während des Schreibens eines Textes immer
  2567. am rechten Rand des Textfensters. Der Umbruch erfolt immer hinter dem
  2568. letzten,  vollständig  geschriebenen Wort. Dabei wird letzte, bereits
  2569. angefangene Wort in die nächste Zeile übertragen.
  2570.  
  2571.  
  2572. 4.3     Steuerzeichen für die Textformatierung
  2573.  
  2574. 4.3.1   Übersicht
  2575.  
  2576. Pseudotrenner     : ''  ( alt/control - )
  2577. Zeilenumbruch     : '
  2578. '  ( alt/control Return oder alt/control J )
  2579. Pseudoblank       : '◆'  ( alt/control <blank> )
  2580. Horizontalmarke   : '✓'  ( alt/control H )
  2581. Formatfreier Paragraph
  2582.     Anfang        : ''  ( alt/control < )
  2583.     Ende          : ''  ( alt/control ä )
  2584.  
  2585.  
  2586. 4.3.2   Pseudotrener
  2587.  
  2588. Der  Randausgleich steht und fällt mit einer möglichst günstigen Aus-
  2589. nutzung  einer Zeile, d.h. je besser die Worte einer Zeile diese auch
  2590. ausfüllen, desto weniger Leerzeichen brauchen beim Randausgleich ein-
  2591. gefügt werden, und desto besser ist das optische Gesammtbild des fer-
  2592. tigen Textes.
  2593.  
  2594. Durch die Verwendung von Pseudotrennzeichen zwischen möglichst vielen
  2595. Silben  ist  KOLUMBUS  in der Lage bestmöglichst zu trennen, d.h. die
  2596. Trennung am Zeilenende so zu wählen, das möglichst viel Text in einer
  2597. Zeile  steht.  Es ist klar, daβ das Ergebnis einer Formatierung um so
  2598. besser ausfällt, je mehr Pseudotrennzeichen beim Schreiben des Textes
  2599. verwendet wurden.
  2600.  
  2601. Verhalten beim Export:
  2602. Später beim exportieren des Textes auf den Drucker oder in eine Datei
  2603. oder  Fenster,  werden  dann  alle  überfluessigen Pseudotrennzeichen
  2604. automatisch entfernt. Man braucht also beim Schreiben des Textes mit
  2605. Pseudotrennern nicht zu sparen.
  2606.  
  2607.  
  2608. 4.3.3   (harter) Zeilenumbruch
  2609.  
  2610. Durch  den harten Zeilenumbruch läβt sich beim Formatieren des Textes
  2611. eine neue Zeile erzwingen.
  2612. Das  wird  benötigt,  wenn  z.B.  ein neuer Satz in einer neuen Zeile
  2613. beginnen, aber keine Leerzeile als Trennung verwendet werden soll.
  2614.  
  2615. Verhalten beim Export:
  2616. Beim Export wird das Zeichen für den Zeilenumbruch entfernt.
  2617.  
  2618.  
  2619. 4.3.4   Pseudoblank
  2620.  
  2621. Durch  einen  Pseudoblank  zwischen zwei Wörtern läβt sich erreichen,
  2622. daβ  bei der Textformatierung diese beiden Worte nicht durch einfügen
  2623. von Leerzeichen auseinandergerissen werden.
  2624. Zwei durch ein Pseudoblank getrennte Worte werden also wie ein großes
  2625. Wort behandelt.
  2626.  
  2627. Verhalten beim Export:
  2628. Beim  Export  des  Textes  wird dar Pseudoblank automatisch durch ein
  2629. richtiges Leerzeichen ersetzt.
  2630.  
  2631.  
  2632. 4.3.5   Die Horizontalmarke
  2633.  
  2634. Die  Horizontalmarke  wird  verwendet  zum  Einrücken eines Absatzes.
  2635. Steht  in  einer  Zeile  eine Horizontalmarke, so beginnt die nächste
  2636. Zeile automatisch in der Spalte der Horizontalmarke.
  2637.  
  2638. Die Wirkung einer Horizontalmarke reicht bis zur nächsten Horizontal-
  2639. marke, aber maximal bis zum Ende des aktuellen Absatzes.
  2640.  
  2641. Verhalten beim Export:
  2642. Beim  Export des Textes werden Horizontalmarken durch Leerzeichen er-
  2643. setzt.
  2644.  
  2645.  
  2646. 4.3.6   Formatfreier Paragraph
  2647.  
  2648. Durch  den Formatfreien Paragraph wird erreicht, daß ein entsprechend
  2649. markierter Bereich ( Tabellen ..) bei der Textformatierung übergangen
  2650. wird.  D.h.  man kann auch Beispielsweise zwei Absätze zwischen denen
  2651. eine  Tabelle steht, zusammenhängend formatieren ohne daß die Tabelle
  2652. dabei zerstört wird.
  2653.  
  2654. Verhalten beim Export:
  2655. Die Steuerzeichen für Anfang/Ende werden beim Export gelöscht.
  2656.  
  2657.  
  2658. 4.4     Export,Ausgabe des formatierten Textes:
  2659.  
  2660. Die  Ausgabe  des  formatierten  Textes  wird  mit der Exportfunktion
  2661. vorgenommen.
  2662. Werden  nur  die oben erwähnten Steuerzeichen verwendet, braucht kein
  2663. eigenes Filter verwendet zu werden, weil die Exportfunktion standart-
  2664. mäßig  genau  auf  die Steuercodes der Textformatierung zugeschnitten
  2665. ist. Näheres zum "Filtern" in den HELP-texten.
  2666.  
  2667.    Man  kann  jedoch  auch z.B. direkt auf den Drucker exportieren. In
  2668.    diesem Fall ist es möglich und auch sinnvoll in einem Exportfenster
  2669.    eigene  Abkürzungen  für  Druckerescapesequenzen zu definieren. Die
  2670.    oben   erwähnten   Steuerzeichen  zur  Textformatieung  sind  dafür
  2671.    natürlich tabu.
  2672.  
  2673.    Als  Beispiel für so eine Exportdatei für den Drucker mag die Datei
  2674.    OKI192.EXP  dienen,  die  ich  für  mein OKI192 verwende. In dieser
  2675.    Datei   habe   ich   zusätzlich   die   DruckerEscapesequenzen  für
  2676.    Schönschrift  auf  ◆^n  und  die Einstellung vom rechten und linken
  2677.    Rand  auf ◆^r gelegt. Außerdem erfolgt eine Umwandlung von ß nach β
  2678.    ( 158 nach 225).
  2679.  
  2680.  
  2681. 5       Anhang
  2682. ---------------------------------------------------------------------
  2683.  
  2684. 5         Anhang
  2685. 5.1       Der Window Manager in Kolumbus
  2686.  
  2687. 5.2       Hinweise zum Editor
  2688. 5.2.1     Rechtecke im Editor
  2689. 5.2.2     Einfügen von Pfadnamen im Editor
  2690. 5.2.3     PC-HELP Protokol
  2691.  
  2692. 5.3       Umlenkung der Ein-Ausgabe
  2693. 5.3.1     Umgelenkt werden können folgende Kanäle:
  2694. 5.3.2     Probleme bei der Ein- Ausgabeumlenkung:
  2695.  
  2696. 5.4       Tips,Clicks und "Affengriffe"
  2697. 5.4.1     Der Window "Fuller":
  2698. 5.4.2     Der Window "Mover":
  2699. 5.4.3     Die Pfeiltasten:
  2700. 5.4.4     Die Funktionstasten:
  2701. 5.4.5     Der Window Manager:
  2702. 5.4.6     Die Tree-, Laufwerks- und Dateifenster
  2703. 5.4.7     Laden u. speichern von Dateien:
  2704. 5.4.8     Das Makeutility:
  2705. 5.4.9     Markieren, Suchen und ersetzen:
  2706. 5.4.10    Block bearbeiten:
  2707. 5.4.11    Löschen:
  2708. 5.4.12    Undo
  2709. 5.4.13    Positionieren
  2710. 5.4.14    Zeilen Aus- und Einblenden
  2711.  
  2712. 5.5.1     Die KOLUMBUS Fenstertypen
  2713.  
  2714. ---------------------------------------------------------------------
  2715.  
  2716. 5       Anhang
  2717.  
  2718. 5.1     Der Window Manager in Kolumbus
  2719.  
  2720. Kolumbus kann bis zu 128 Fenster verwalten. Um bei so vielen Fenstern
  2721. noch den Überblick zu bewahren, brauch man entweder einen kühlen Kopf
  2722. mit  dem  grossen  "Fensterdurchblick"  oder  besser  noch aber einen
  2723. Windowmanager a la KOLUMBUS.
  2724.  
  2725. Zum Windowmanager gelangt man, durch ◆/Escape, ^/Escape und im plain
  2726. TOS zusätzlich durch Mausklick auf dem Desktophintergrund.
  2727.  
  2728. Der Windowmanager öffnet dann ein Fenster (was sonst) in denen die
  2729. Titel aller geöffneten Fenster aufgeführt sind oder anders ausgeückt
  2730. den durch KOLUMBUS verwalteten momentanen Fensterstapel.
  2731.  
  2732. Beispiel für ein Fenster des Windowmanagers mit 5 geöffneten
  2733. Fenster. Die Nummer vor dem Fenstertiteln ist das intern verwendete
  2734. Fensterhandle.
  2735.  
  2736.    1  WINDOW MANAGER
  2737.    2  G:
  2738.    0  G:\cwrk\kolumb\kogcc.mak
  2739.    4  C:\desks\kolumb.dsk
  2740.    3  G:\cwrk\kolumb\doc\anhang.txt
  2741.  
  2742. Im  obigen  Beispiel sieht man als Top-Fenster das Fenster des Window
  2743. Managers  mit  dem  Handle  1,  ein  Treeviewfenster des Laufwerks G:
  2744. (Handle 2) , und drei Fenster im Editors mit den Handles 0,4 und 3.
  2745.  
  2746. Der Windowmanager bietet jetzt folgende Möglichkeiten:
  2747. -Direktes Toppen eines beliebigen Fensters aus dem Stapel.
  2748. -Direktes Schliessen eines beliebigen Fensters im Stapel ohne es
  2749.  erst nach vorn holen zu müssen.
  2750.  
  2751. Das direkte Toppen ist möglich durch shf/klick auf den Fenstertitel
  2752. oder durch positionieren des Cursors auf den Titel und Drücken von
  2753. ◆/Return.
  2754.  
  2755. Das direkte Schliessen ist möglich durch positionieren des Cursors
  2756. auf den Titel und Drücken von ^/Delete.
  2757.  
  2758.  
  2759. 5.2       Hinweise zum Editor
  2760.  
  2761. Die  meisten Funktionen des Editors dürften im Onlinehelp ausreichend
  2762. beschrieben  sein.  Etwas ungewöhnlich ist vielleicht die Bearbeitung
  2763. In diesem Abschnitt will ich auf die eine oder andere Besonderheit
  2764. noch einmal explizit hinweisen.
  2765.  
  2766.  
  2767. 5.2.1     Rechtecke im Editor
  2768.  
  2769. Kolumbus  kann  Rechtecke  aus dem Text kopieren und verschieben. Ein
  2770. Rechteck  wird  definiert  durch einen aufgespannten Gummibandcursor,
  2771. oder durch ^C..^C oder ^M..^M auf zwei diagonale Ecken des Rechtecks.
  2772.  
  2773. Das  so  definierte  Rechteck  kann nun durch ◆I an anderer Stelle im
  2774. Editor  eingefügt  (Insert)  und durch ◆O an anderen Stelle überladen
  2775. (Overlay)  werden.  Einfügen  bezieht  sich  hier auf die Spalten und
  2776. nicht  auf die Zeilen des Rechtecks, man muss sich deshalb ggflls. an
  2777. der  Zielstelle erst mal genügend Platz schaffen falls nicht genügend
  2778. Zeilen vorhanden sind.
  2779.  
  2780. Wurde  das  Rechteck  durch  den Gummibandcursor oder ^C markiert, so
  2781. wird  es  durch ◆/I und ◆/O kopiert, wenn es durch ^M markiert wurde,
  2782. so  wird es verschoben. Beim Verschieben wird das Quellrechteck durch
  2783. Leerzeichen überschrieben.
  2784.  
  2785. Rechtecke bearbeiten löscht den UNDO-Puffer!
  2786.  
  2787.  
  2788. 5.2.2     Einfügen von Pfadnamen im Editor
  2789.  
  2790. In  einem  editierbaren Fenster kann an beliebiger Zeile ein Pfadname
  2791. angehängt werden.
  2792.  
  2793. Das Vorgehen dazu ist folgendermaßen:
  2794. 1. Doppelclick  auf  die  Zeile  an der ein Pfadname angehängt werden
  2795.    soll. Es erscheint dann das Fileselektorfenster bzw. der AES File-
  2796.    selktor zur Auswahl des Pfades oder Pfadnamens.
  2797.  
  2798. 2. Mit dem Selektor klickt man sich in den gewünschten Pfad hinein.
  2799.  
  2800. 3a Internes Selektorfenster:
  2801.    Durch  klick  auf  einen  Dateinamen oder auf den "." wird der Se-
  2802.    lektor  verlassen  und  der Pfadname wird an die aktuelle Zeile im
  2803.    Editor angehängt.
  2804.  
  2805. 3b AES-Fileselektor:
  2806.    Wird  der  Selektor  mit "ok" verlassen, wird der ausgewählte Pfad
  2807.    (name) an die aktuelle Zeile im Editor angehängt.
  2808.  
  2809.  
  2810. 5.2.3     PC-HELP Protokol
  2811.  
  2812. KOLUMBUS unterstützt ab V2.20 das PC-Help Protokol. Es funktioniert
  2813. in folgender Weise:
  2814.  
  2815. 1. Positionieren des Cursors auf den gesuchten Begriff.
  2816.  
  2817. 2. Drücken der Taste Help.
  2818.  
  2819. Wenn das PC-Help Accessory gebootet wurde öffnet diese daraufhin ein
  2820. Fenster um den gewünschten Helptext anzuzeigen.
  2821.  
  2822.  
  2823. 5.3     Umlenkung der Ein-Ausgabe
  2824.  
  2825.  
  2826. Die  Umlenkung  der  Ein-/Ausgabe  wird i.a. als Domäne von Kommando-
  2827. shells  angesehen.  Das  diese  Technik auch unter einem GEM Programm
  2828. hervorragend einsetzbar ist, will ich mit dem KOLUMBUS zeigen.
  2829.  
  2830. Allgemein verwendet man die Ein/Ausgabeumlenkung in Kommandoshells um
  2831. -Ausgaben  eines  Programms  in  eine Datei umzulenken, um sie später
  2832.  weiterzuverwenden.
  2833. -Eingaben in ein Programm zu automatisieren
  2834. -und/oder  in Kombination Ausgaben eines Programms direkt zur Eingabe
  2835.  eines zweiten Programms zu verwenden.
  2836.  
  2837. KOLUMBUS  verwendet  die  Technik der Umlenkung der Ein/Ausgabe (auch
  2838. schon  in V1.00) in der Makefunktion. Hier werden Standart Eingabe, -
  2839. Ausgabe  und  -  Fehlerausgabe normalerweise in eine Datei umgelenkt,
  2840. die  im  Anschluss  an  den  Compilerlauf  automatisch in ein Fenster
  2841. geladen  wird.  Trotz  aller Behinderungen durch das GEMDOS, habe ich
  2842. damit  überwiegend  gute  Erfahrungen  gemacht. So habe ich mich denn
  2843. entschlossen  ab  V2.00  auch  beim  Starten  von  ".TOS" oder ".TTP"
  2844. (GEMDOS) Programmen diese Möglichkeit anzubieten. (Näheres hierzu:
  2845. -> Kapitel <Programmstart> dfes Filemanagers.
  2846.  
  2847.  
  2848. 5.3.1   Umgelenkt werden können folgende Kanäle:
  2849.  
  2850.   ---------------------------------------------------
  2851.   GEMDOS Kanalnummer       Name
  2852.   ---------------------------------------------------
  2853.   0                        Standart Eingabe
  2854.   1                        Standart Ausgabe
  2855.   2                        Standart Fehlerausgabe
  2856.   ---------------------------------------------------
  2857.  
  2858. Anders  als  in einer Kommandoshell gilt es in einem GEM Programm wie
  2859. KOLUMBUS  auch  den  Fehlerkanal  abzufangen, da sonst Fensterinhalte
  2860. überschrieben werden.
  2861.  
  2862. Weil  im  GEMDOS  kein Fehlerkanal unterstützt wird, darf dabei nicht
  2863. verschwiegen  werden,  daß  die  Verwendung des Kanals 2 als Standart
  2864. Fehlerkanal problematisch ist. Immerhin bezeichnet dieser Kanal unter
  2865. GEMDOS die serielle Schnittstelle. Da aber viele GEMDOS Programme von
  2866. UNIX   oder   DOS  portiert  wurden  und  dort  der  Fehlerkanal  die
  2867. Kanalnummer  2  hat, erscheint es trotzdem sinnvoll, diesen Kanal als
  2868. Fehlerkanal zu interpretieren.
  2869.  
  2870.  
  2871. 5.3.2   Probleme bei der Ein- Ausgabeumlenkung:
  2872.  
  2873. Die Probleme bei der Umlenkung liegen im GEMDOS selbst begründet. Man
  2874. kann  sagen,  daß  sie  bis heute nicht richtig funktionieren (Faust-
  2875. regel:  Je  höher  die Version des GEMDOS, desto besser funktionieren
  2876. sie).
  2877.  
  2878. In  meinem  (Rainbow)  GEMDOS  kommt  es immer dann zu Problemen wenn
  2879. gestartete GEMDOS Programme bei bereits umgelenkter Ein- oder Ausgabe
  2880. ebenfalls anfangen irgendetwas umzulenken. Es erscheint dann folgende
  2881. berühmt-berüchtete Meldung:
  2882.  
  2883. ***  OUT  OF  INTERNAL  MEMORY
  2884. ***  USE FOLDR100.PRG TO GET MORE
  2885. ***  SYSTEM HALTED ***
  2886.  
  2887. Ich  persöhnlich  empfehle  in  diesem Fall keinesfalls FOLDR100.PRG,
  2888. sondern  bei  diesem  Programm  in  Zukunft  auf  die Umlenkung durch
  2889. KOLUMBUS zu verzichten.
  2890.  
  2891. Summa  Summarum  kann  man  folgendes sagen: So lange die GEMDOS Pro-
  2892. gramme  nur  die  Standartein-  und  Ausgabekanäle benutzen und bicht
  2893. selbst daran herummanipulieren funktioniert alles ganz prächtig.
  2894.  
  2895. Unter MiNT sind bei mir bislang noch überhaupt keine Probleme diesbe-
  2896. züglich aufgetaucht. Sollte sich da doch etwas verbessert haben?
  2897.  
  2898.  
  2899.  
  2900. 5.4     Tips,Clicks und "Affengriffe"
  2901.  
  2902. Dieses Kapitel stellt eine Zusammenfassung aller Tastatur- und
  2903. Mausshortcuts dar, wie sie auch in den einzelnen Onlinehelpdateien
  2904. aufgeührt sind.
  2905.  
  2906. 5.4.1   Der Window "Fuller":
  2907.  
  2908. Click     - Das  Fenster wird auf Maximalgröße vergrößert. Das
  2909.             kennt jeder - aber:
  2910. Shf/click - Das  Fenster  wird auf mittlere Größe in der Mitte
  2911.             zentriert.
  2912. ^/click   - Das  Fenster wird auf Minimalgröße links oben ver-
  2913.             kleinert (Nicht mit WinX2.2)
  2914.  
  2915. Ein erneuter click auf den "Fuller" erzeugt in jedem Fall wie-
  2916. der die alte Fenster -größe und -lage.
  2917.  
  2918. Die gleiche Funktion wie Click auf dem Fuller kann über Tastatur mit
  2919. ^/# ausgelößt werden.
  2920.  
  2921.  
  2922. 5.4.2   Der Window "Mover":
  2923.  
  2924. Shf/click - das  Fenster  wird  in  der  aktuellen Größe in der
  2925.             Mitte zentriert. (Nicht mit WinX2.2).
  2926.  
  2927.  
  2928. 5.4.3   Die Pfeiltasten:
  2929.  
  2930. Shf/  - Bewegt den Cursor nach oben links im Fenster.
  2931. Shf/⇩  - Bewegt den Cursor nach unten links im Fenster.
  2932. Shf/⇨  - Bewegt  den  Cursor an den rechten Fensterrand, jedoch
  2933.          nicht weiter als bis zum Zeilenende.
  2934. Shf/⇦  - Bewegt den Cursor an den linken Fensterrand.
  2935. ^  /  - Scrollt Fensterseite nach oben.
  2936. ^  /⇩  - Scrollt Fensterseite nach unten.
  2937. ^  /⇨  - Scrollt Fensterseite nach rechts.
  2938. ^  /⇦  - Scrollt Fensterseite nach links.
  2939.  
  2940.  
  2941. 5.4.4   Die Funktionstasten:
  2942.  
  2943. Mit  den  Funktionstasten  können alle Zeichen des Zeichensatzes über
  2944. die Tastatur erreicht werden. Die Vorgehensweise ist folgende:
  2945. 1. Zeichensatz darstellen mit Menu Font.Chrset.
  2946. 2. Gewünschtes   Zeichen  durch  Mausclick  oder  Cursortasten
  2947.    anwählen.
  2948. 3. Funktionstaste drücken, unter der das Zeichen abrufbar sein
  2949.    soll.
  2950.  
  2951.    Es werden 40 Funktionstasten unterstützt:
  2952.    F1..F10
  2953.    ^F1..^F10
  2954.    ◆F1..◆F10
  2955.    ◆^F1..◆^F10
  2956.  
  2957.  
  2958. 5.4.5   Der Window Manager:
  2959.  
  2960. Der Aufruf des Window Managers erfolgt durch:
  2961. 1. ^/
  2962. 2. ◆/
  2963. 3. click auf Desktophintergrund.
  2964.  
  2965. Kommandos des Window Managers:
  2966. ◆/Return - Holt Fenster nach vorn.
  2967. ^/Delete - Schließt Fenster.
  2968. Shf/click- wie ◆/Return.
  2969.  
  2970.  
  2971. 5.4.6   Die Tree-, Laufwerks- und Dateifenster
  2972.  
  2973. ◆Return       - Auf Dateiname: Starten  eines  Programms  oder
  2974.                                Laden einer Textdatei.
  2975.                 Auf Ordner   : Inhaltsverzeichnis  des Ordners
  2976.                                in neues Fenster laden.
  2977. Click         - Identisch ◆Return.
  2978. ^Return       - Auf Ordner   : Das  Laufwerkfenster wird durch
  2979.                                Inhaltsverzeichnis  des Ordners
  2980.                                ersetzt.
  2981. ^Click        - Identisch ^Return
  2982. ^T            - "Touch",  verändern  einer  Dateizeit auf das
  2983.                 aktuelle Datum.
  2984. Esc           - Das  Datei-  oder  Laufwerk  Fenster  wird neu
  2985.                 geschrieben.
  2986. ^Delete       - Löschen eines Ordners oder einer Datei.
  2987. ^D..^D        - Löschen mehrerer Ordner / Dateien.
  2988. ^C..C/^Insert - Dateien /Ordner kopieren.
  2989. ^I            - Anzeige der Laufwerksinfos.
  2990.  
  2991.  
  2992. 5.4.7   Laden u. speichern von Dateien:
  2993.  
  2994. ^N    - Erzeugen eines Editorfensters ohne Inhalt (new) .
  2995.  
  2996. ^V    - Laden  einer  Datei  in  den  Editor.  Sie  kann nicht
  2997.         verändert werden.
  2998. ^S    - Abspeichern des obersten Fensters (save) .
  2999. ^E    - Export des obersten Fensters .
  3000. ◆X    - Zunächst  Abspeichern  aller  Fenster.  Dann  wird das
  3001.         Programm mit Returncode=1 beendet.
  3002. ^X    - Beenden des Editors ohne die geänderten Fensterinhalte
  3003.         zu  sichern.  Es  erfolgt  jedoch  für jedes geänderte
  3004.         Fenster vorher eine Sicherheitsabfrage.
  3005.  
  3006.  
  3007. 5.4.8   Das Makeutility:
  3008.  
  3009. ◆M      - Aufruf  von  "Make"  im  Normalmodus.  Alle  Dateien
  3010.           werden ab- hängig vom Änderungsdatum übersetzt.
  3011. Sh◆M    - Aufruf der Testfunktion von "Make".
  3012. Sh^M    - Aufruf  von Make. Alle Dateien werden unabhängig vom
  3013.           Ände- rungsdatum übersetzt.
  3014.  
  3015.  
  3016. 5.4.9   Markieren, Suchen und ersetzen:
  3017.  
  3018. sh/^F    - Suche Zeichenkette.
  3019. ^F       - Suche nächste Zeichenkette.
  3020. sh/^R    - Suche und ersetze Zeichenkette.
  3021. ^R       - Suche und ersetze nächste Zeichenkette.
  3022. ^C       - Markiere Cursorzeile.
  3023. ^C..^C   - Markiere Block.
  3024. sh/click            - wie ^C
  3025. sh/click..sh/click  - wie ^C..^C
  3026. ^M       - ("move") Markiere Cursorzeile zum Verschieben
  3027. ^M..^M   - ("move") Markiere Block zum Verschieben
  3028.  
  3029.  
  3030. 5.4.10  Block bearbeiten:
  3031.  
  3032. ^A       - ("after")Der  durch  ^C..^C  oder ^M..^M definierte
  3033.            Zeilenblock  wird  hinter  der  Cursorzeile kopiert
  3034.            oder verschoben.
  3035. ^B       - ("before")Der  durch  ^C..^C oder ^M..^M definierte
  3036.            Zeilenblockblock  wird  vor der Cursorzeile kopiert
  3037.            oder verschoben.
  3038. ◆O       - Das  durch  ^C..^C  oder ^M..^M definierte Rechteck
  3039.            wird  hinter  der Cursorzeile kopiert oder verscho-
  3040.            ben.   Vorhandene   Zeichen   werden  überschrieben
  3041.            (overlay-mode).
  3042. ◆I       - wie  ◆O,  nur  werden vorhandene Zeichen nicht über-
  3043.            schrieben (insert-mode).
  3044. ^P       - Der durch ^C..^C definierte Block wird ausgedruckt.
  3045. ^>       - Der  durch ^C..^C markierte Block wird um die Tabu-
  3046.            latorweite nach rechts gerückt.
  3047. ^>       - Der  durch ^C..^C markierte Block wird um die Tabu-
  3048.            latorweite nach links gerückt.
  3049.  
  3050. 5.4.11  Löschen:
  3051.  
  3052. Delete       - Lösche Zeichen unter dem Cursor.
  3053. ^Delete      - Lösche Cursorzeile.
  3054. Backspace    - Lösche Zeichen links vom Cursor.
  3055. ^D..^D       - Loesche Block.
  3056. ^Q           - Lösche  den mit ^C und/oder ^M markierten Block
  3057.                oder erstes ^D.
  3058. sh/Backspace - Lösche  in  Cursorzeile  alle Zeichen links vom
  3059.                Cursor.
  3060.  
  3061. Return    - Splitte aktuelle Zeile an Cursorposition.
  3062. ^Return   - Erzeugt  Leerzeile  hinter Cursorzeile, Cursor auf
  3063.             Leerzeile.
  3064. sh^Return - Erzeugt  Leerzeile  vor  Cursorzeile,  Cursor  auf
  3065.             Leerzeile
  3066.  
  3067.  
  3068. 5.4.12  Undo
  3069.  
  3070. undo         - Mache   alle   Änderungen  in  aktueller  Zeile
  3071.                rückgängig.
  3072.  
  3073.  
  3074.  
  3075. 5.4.13  Positionieren
  3076.  
  3077. ^Help      - Speichere aktuelle Fensterposition.
  3078. ^ClrHome   - Gehe zur gespeicherten Fensterposition
  3079. ^L         - Gehe zur Zeile ..
  3080. ◆L         - Zurück zur letzten Zeile vor ^L
  3081. Home       - Gehe zur ersten Zeile der Datei.
  3082. sh/home    - Gehe zur letzten Zeile der Datei.
  3083. sh/up      - Cursor zur ersten Zeile im Fenster.
  3084. sh/down    - Cursor zur letzten Zeile im Fenster.
  3085. sh/left    - Cursor zur ersten Spalte im Fenster.
  3086. sh/right   - Cursor zur letzten Spalte oder rechten Fensterrand.
  3087. ^up        - Blättere eine Fensterseite zurück.
  3088. ^down      - Blättere eine Fensterseite vor.
  3089. ^left      - Verschiebe Fenster eine halbe Seite nach links.
  3090. ^right     - Verschiebe Fenster eine halbe Seite nach rechts.
  3091.  
  3092. up         - Cursor eine Zeile nach oben.
  3093. down       - Cursor eine Zeile nach unten.
  3094. left       - Cursor eine Spalte nach links.
  3095. right      - Cursor eine Spalte nach rechts.
  3096.  
  3097. ^W         - Vertauscht zyklisch das aktive Fenster.
  3098. sh/^W      - Vertauscht die obersten beiden Fenster.
  3099. ^I         - Zeige Informationen über Fensterinhalt.
  3100.  
  3101. Insert     - Wechselt   vom   Normal-   zum  Einfügemodus  und
  3102.              umgekehrt.   Dieses   Kommando   kann  für  jedes
  3103.              geöffnetes Fenster unabhängig gegeben werden.
  3104.  
  3105. Tab        - Cursorsprung  bis zur nächsten Tabulatorposition.
  3106.              Abhängigig  von  Insert  wird  die  entsprechende
  3107.              Anzahl  an  Blanks  eingefügt  oder  Zeichen  mit
  3108.              Blanks übeschrieben.
  3109.  
  3110.              Die  Tabulatorweite  wird im Menü Extra.Tabs ein-
  3111.              gestellt.
  3112.  
  3113.  
  3114. 5.4.14  Zeilen Aus- und Einblenden
  3115.  
  3116. ^H     - Hide, Die aktuelle/nächste Zeile wird ausgeblended.
  3117. sh/^H  - Die aktuelle/vorherige Zeile wird ausgeblended.
  3118. ^G     - Get,  Die  letzte  ausgeblendete  Zeile wird (wieder)
  3119.          dargestellt.
  3120. sh/^G  - Die   erste   ausgeblendete   Zeile   wird   (wieder)
  3121.          dargestellt.
  3122.  
  3123.  
  3124. 5.5.1   Die KOLUMBUS Fenstertypen
  3125.  
  3126. In diesem Kapitel noch einmal eine Zusammenfassung der verschiedenen
  3127. Fenstertypen, wie sie innerhalb von KOLUMBUS verwendet werden.
  3128.  
  3129. Typ            editierbar Dateizugriff     Kennzeichen
  3130.                      sortierbar   Ausführbar       Besitzt Syntax
  3131. -----------------------------------------------------------------
  3132. ASCII              x     x     -       -    Dateiname    -
  3133. Binär              x     x     -       -    Dateiname    -
  3134. Make               x     x     -       x    .make        x
  3135. Export             x     x     -       -    .export      x
  3136. Import             x     x     -       -    .import      x
  3137. Environment        x     x     -       -    .envi        x
  3138. Desktopfenster     x     x     x       -    .desk        x
  3139. ONLINE help        -     -     -       -    Dateiname    -
  3140. MESSAGE Fenster    -     -     -       -    MESSAGE      -
  3141. Laufwerksfenster   -     -     x       -    Laufwerk U:  x
  3142. Dateifenster       -     x     x       -    Pfad         x
  3143. Tree(view)fenster  -     -     x       -    Laufwerk x:  x
  3144. Windowmanagers     -     -     -       -    WINDOW MAN.. x
  3145.  
  3146. Die  Syntax der editierbaren Fenstertypen sollte man sich gut ansehen.
  3147. Das ist Voraussetzung, um alle Features von KOLUMBUS voll ausnutzen zu
  3148. können.  Die  Syntax  ist  teilweise  in  dieser Datei und oder in den
  3149. ONLINE Helpfenster beschrieben.
  3150.  
  3151.  
  3152.